本文實(shí)例講述了JS apply用法總結(jié)和使用場景。分享給大家供大家參考,具體如下:
成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比懷遠(yuǎn)網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式懷遠(yuǎn)網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋懷遠(yuǎn)地區(qū)。費(fèi)用合理售后完善,十余年實(shí)體公司更值得信賴。
apply是綁定this到指定函數(shù)或類,也可以說把函數(shù)或者類的方法和屬性給到當(dāng)前作用域。
1,使用apply實(shí)現(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實(shí)現(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); //2 c2.showAdd(3,1); //4
3,apply使用時(shí)傳參規(guī)則
fn.apply(this,array)
在執(zhí)行過程中,array參數(shù)會(huì)被轉(zhuǎn)化成一個(gè)一個(gè)參數(shù)傳遞給函數(shù)fn
fn.apply(this,[params1,params2,...]) //相當(dāng)于 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代碼運(yùn)行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運(yùn)行效果。
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計(jì)有所幫助。