JS apply用法總結(jié)和使用場景實例分析
本文實例講述了JS apply用法總結(jié)和使用場景。分享給大家供大家參考,具體如下:
apply是綁定this到指定函數(shù)或類,也可以說把函數(shù)或者類的方法和屬性給到當前作用域。
1,使用apply實現(xiàn)繼承
function A(name, age){ this.name = name; this.age = age; } function B(name, age, time){ A.apply(this,[name]) //這里的name必須加上[] } const b = new B(’繼承’); console.log(b)
2,使用apply實現(xiàn)多重繼承
function Class10(){ this.showSub = function(a,b){ alert(a - b); } } function Class11(){ this.showAdd = function(a,b){ alert(a + b); } } function Class12(){ Class10.apply(this); Class11.apply(this); // Class10.call(this); //Class11.call(this); } var c2 = new Class12();c2.showSub(3,1); //2c2.showAdd(3,1); //4
3,apply使用時傳參規(guī)則
fn.apply(this,array)
在執(zhí)行過程中,array參數(shù)會被轉(zhuǎn)化成一個一個參數(shù)傳遞給函數(shù)fn
fn.apply(this,[params1,params2,...])//相當于fn(params1,params2,...)//這里的this指向執(zhí)行fn函數(shù)的作用域
4,apply綁定this和綁定null
function C(name, age){ console.log(this.name) } var name = ’windowname’ var myObject = {name:'myA',age:'myB'}; C.apply(myObject) //myA C.apply(null)//windowname function D(){ this.name = ’我是D空間’ C.apply(this) } D();//我是D空間
感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。
更多關于JavaScript相關內(nèi)容感興趣的讀者可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學運算用法總結(jié)》
希望本文所述對大家JavaScript程序設計有所幫助。
相關文章:
1. 基于javascript處理二進制圖片流過程詳解2. JS sort方法基于數(shù)組對象屬性值排序3. ASP中解決“對象關閉時,不允許操作?!钡脑幃悊栴}……4. JAVA上加密算法的實現(xiàn)用例5. Django-migrate報錯問題解決方案6. ajax請求添加自定義header參數(shù)代碼7. ASP刪除img標簽的style屬性只保留src的正則函數(shù)8. Gitlab CI-CD自動化部署SpringBoot項目的方法步驟9. 使用Python和百度語音識別生成視頻字幕的實現(xiàn)10. 淺談SpringMVC jsp前臺獲取參數(shù)的方式 EL表達式
