2019年1月13日 星期日

【JavaScript】JavaScript原型鏈與繼承/構造函數


▌構造函數

function createobject(name,age){
  this.name=name;
  this.age=age;
  this.talk=function (){
   alert("I am"+this.name+ age)
  }
}  
createobject("Nissen",12);  //this就會變成是跑在window上面
console.log(window.name); //window就會被掛上name

▌原型鏈

  • Prototype是函數的屬性,是一個指向prototype指針
  • Construter是prototype的屬性,是一個指向被實例的指針
  • 原生鍊的製作另外寫Createobject.prototype.talk=function(){}
  • 物件在被new的過程中,會去模仿、繼承原生練擁有的特性
    (像是
function Createobject(name,age){
  this.name = name;
  this.age = age;
}  

Createobject.prototype.talk = function (){
   alert("I am"+this.name+ ","+this.age);
  }

var person=new Createobject("Ken",20);
person.talk()

沒有留言:

張貼留言

【JavaScript】用物件Mapping的方法

If的寫法 我們希望當變數是a時就回傳1,變數是b就回傳2,變數是c就會回傳3,一般寫法就是用if,但是這樣會很冗 ​ // IF style var word if(word == 'a'){ word = 1 } else if...