摘要:用來改變函數的對象的指向都是用來改變函數的對象的指向的。后面的參數是調用方法的參數。都可以利用后續參數傳參。
用來改變函數的this對象的指向
都是用來改變函數的this對象的指向的。
第一個參數都是this要指向的對象。
后面的參數是調用方法的參數。
都可以利用后續參數傳參。
var xw={ name: "小王", gender: "男", age: 24, say: function(){ alert(this.name+" , "+this.gender+" ,今年"+this.age); } } var xh={ name: "小紅", gender: "女", age: 18 } xw.say();
調用:
xw.say.call(xh); xw.say.apply(xh); // call和apply都是對函數的直接調用,而bind方法返回的仍然是一個函數 xw.say.bind(xh)();
在有參數的情況下call和apply產生區別:
var xw={ name: "小王", gender: "男", age: 24, say: function(school,grade){ alert(this.name+" , "+this.gender+" ,今年"+this.age+" ,在"+school+"上"+grade); } } var xh={ name: "小紅", gender: "女", age: 18 }
調用形式:
call以及bind后面的參數與say方法中是一一對應的
apply的第二個參數是一個數組,數組中的元素是和say方法中一一對應的
xw.say.call(xh,"實驗小學","六年級"); xw.say.apply(xh,["實驗小學","六年級"]); xw.say.bind(xh,"實驗小學","六年級")();
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/93602.html
摘要:參考鏈接在中,和是對象自帶的三個方法,都是為了改變函數體內部的指向。返回值是函數方法不會立即執行,而是返回一個改變了上下文后的函數。而原函數中的并沒有被改變,依舊指向全局對象。原因是,在中,多次是無效的。 參考鏈接:https://juejin.im/post/59bfe8... 在JavaScript中,call、apply和bind是Function對象自帶的三個方法,都是為了改變...
摘要:實現使用是這樣轉換的生成新的函數,新的執行上下文通過在傳入對象中增加調用方法執行被改變,得恢復原來的值實現在這里,我們看到了一個有趣的現象,在中可以傳入數組兩大作用改變借用其他對象的方法改變如何實現執行借用其他對象的方法繼承的實現執行能借用 js實現call // example let obj = { a: 124, b: ccc }; function fn(c) ...
你有遇見過給bind返回的函數做new操作的場景,本篇主要講述的就是實現一下兼容new操作的bind寫法,順便學習一下new操作符,為大家提供下參考。 大家可以去看下關于 JS 中 bind 方法的實現的文章,并給出了實現: Function.prototype.myBind=function(thisArg,...prefixArgs){ constfn=this; return...
在上一篇文章(《javascript高級程序設計》筆記:Function類型)中稍微提及了一下函數對象的屬性—this,在這篇文章中有深入的說明: 函數的三種簡單調用模式 1 函數模式 定義的函數,如果單獨調用,不將其與任何對象關聯,那么就是函數調用模式 function fn(num1, num2) { console.log(this); } // 直接在全局調用 fn();// w...
摘要:硬綁定會大大降低函數的靈活性,使用硬綁定之后就無法使用像隱式綁定或顯示綁定來修改。如果可以給默認綁定指定一個全局對象和意外的值,那就可以實現和硬綁定相同的效果,同時保留隱式綁定或顯示綁定修改的能力。 JavaScript中硬綁定與軟綁定詳解 JS中硬綁定這種方式可以把this強制綁定到指定的對象(除了使用new時),防止函數調用時應用默認綁定規則(非嚴格模式下全局對象-window| ...
閱讀 2898·2021-10-27 14:19
閱讀 537·2021-10-18 13:29
閱讀 1127·2021-07-29 13:56
閱讀 3546·2019-08-30 13:19
閱讀 1926·2019-08-29 12:50
閱讀 1034·2019-08-23 18:16
閱讀 3521·2019-08-22 15:37
閱讀 1897·2019-08-22 15:37