js物件之call,apply方法

2021-09-11 06:28:36 字數 517 閱讀 8134

首先我們來看看call如何借調方法

下面來演示一下

這樣就行了,注意被借調的不管是原型物件方法還是私有的方法只要是這個例項的屬性裡面有的都可以借調,換句話說,由建構函式例項化出來的內容都可以被借調,而這個例項出來的物件裡面含有建構函式裡面的內容和原型物件裡面的內容。

有人碩這樣乙個乙個的借調有點麻煩,那麼,我們就採用的一種在建構函式copy乙份你想要借調的物件的方法,說起來有點懵,下面上**。

通過這種方式,可以理解為,將建構函式的內容全部copy乙份到本建構函式,大家想這不就是繼承嗎,瑕疵的地方在於,只繼承了建構函式沒有繼承建構函式的原型物件中的方法屬性,所以繼承不成功,但是可以copy乙份全部的內容。

js 難點之call,apply實現

1 function bar bar.call foo 1 bar 函式執行了 1,bar function foo.bar 1 執行該函式 刪除該函式 foo.fn bar 第二步 foo.fn 第三步 delete foo.fn function.prototype.call2 function...

js深入之call apply和bind模擬實現

var foo function fn fn.call foo 1注意 1 call改變了this的指向,指到foo 2 fn函式執行 即可將上面的 改變成下面這種形式 var foo foo.fn 1即將fn作為物件foo的屬性,然後進行呼叫。則可總結出模擬實現的步驟 1 將函式設定為物件的屬性,...

JS學習筆記之call apply的用法

var func function a,b,c 複製 var func function a,b,c func.call null,1,2,3 複製 var func function a,b,c 複製 如果是嚴格模式下,函式體內的this還是null var func function a,b,c...