Call和Apply的區別

Call和Apply做用相同、都是解決this指向問題,只是傳參方式不一樣

除了第一個參數(默認爲window)call只接受參數列表,apply只接受參數數組
let test
= {   value:12 }
function demo(name,sex){   console.log(name)   console.log(sex)   console.log(this.value) }
demo.call(test,
'zachary','man') // 12 zachary man demo.apply(test,['zachary','man']) // 12 zachary man

除了字面量的 咱們還能夠 this 指向函數裏面的

function a(){
this.value = 12
}
function demo(){ //a.call(this) a.apply(this) }
let aa
= new demo() console.log(aa.value)
小結一下能夠這麼理解 

call繼承父級屬性,prototype繼承父級方法
相關文章
相關標籤/搜索