2019年1月19日 星期六

【Ch8函式】間接調用 call()、apply()、bind()


▌間接調用
  • call():把函式用在不同物件
  • apply():把函式用在不同物件(差別在於用陣列傳參數)
  • bind():把函式「綁在」不同物件
var person={
  name:"neo",
  age:12
}

var person2={
  name:"nissen",
  age:21
}

function show(){
  console.log(this.name+" is "+this.age);
}

show.call(person)  //neo is 12
show.call(person2)  //nissen is 21
console.log(show.bind(person)) //[Function: bound show]
上面有兩個物件,如果想要讓show()可以用在兩個物件上就可以使用call或是ㄇapply,但是如果想要綁在上面就可以用bind()

沒有留言:

張貼留言

【JavaScript】用物件Mapping的方法

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