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); //2 c2.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é)構與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學運算用法總結(jié)》
希望本文所述對大家JavaScript程序設計有所幫助。
相關文章
js檢測標題與描述中的關鍵詞發(fā)現(xiàn)就替換或跳轉(zhuǎn)到別的頁面
這篇文章主要介紹了js檢測標題與描述中的關鍵詞發(fā)現(xiàn)就替換或跳轉(zhuǎn)到別的頁面的實現(xiàn)方法,主要是分享它的編程思路與加密方法2021-06-06SpringMVC restful 注解之@RequestBody進行json與object轉(zhuǎn)換
這篇文章主要介紹了SpringMVC restful 注解之@RequestBody進行json與object轉(zhuǎn)換的相關資料,需要的朋友可以參考下2015-12-12JS區(qū)分Object與Aarry的六種方法總結(jié)
下面小編就為大家?guī)硪黄狫S區(qū)分Object與Aarry的六種方法總結(jié)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02