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測試上述代碼運行效果。
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學運算用法總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
相關(guān)文章:
1. idea設(shè)置提示不區(qū)分大小寫的方法2. HTTP協(xié)議常用的請求頭和響應頭響應詳解說明(學習)3. Django使用HTTP協(xié)議向服務(wù)器傳參方式小結(jié)4. CentOS郵件服務(wù)器搭建系列—— POP / IMAP 服務(wù)器的構(gòu)建( Dovecot )5. .NET SkiaSharp 生成二維碼驗證碼及指定區(qū)域截取方法實現(xiàn)6. docker容器調(diào)用yum報錯的解決辦法7. 原生JS實現(xiàn)記憶翻牌游戲8. css代碼優(yōu)化的12個技巧9. django創(chuàng)建css文件夾的具體方法10. ASP.NET MVC通過勾選checkbox更改select的內(nèi)容
