JS apply用法總結(jié)和使用場景實例分析
本文實例講述了JS apply用法總結(jié)和使用場景。分享給大家供大家參考,具體如下:
apply是綁定this到指定函數(shù)或類,也可以說把函數(shù)或者類的方法和屬性給到當(dāng)前作用域。
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,...]) //相當(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代碼運行工具: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ù)學(xué)運算用法總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
- 原生js如何實現(xiàn)call,apply以及bind
- javascript中call,apply,bind的區(qū)別詳解
- Javascript call及apply應(yīng)用場景及實例
- JS call()及apply()方法使用實例匯總
- JavaScript中的this/call/apply/bind的使用及區(qū)別
- JavaScript函數(shù)Call、Apply原理實例解析
- javascript中call,apply,callee,caller用法實例分析
- JS中call()和apply()的功能及用法實例分析
- JS中apply()的應(yīng)用實例分析
- 分析ES5和ES6的apply區(qū)別
相關(guān)文章
layui問題之渲染數(shù)據(jù)表格時,僅出現(xiàn)10條數(shù)據(jù)的解決方法
今天小編就為大家分享一篇layui問題之渲染數(shù)據(jù)表格時,僅出現(xiàn)10條數(shù)據(jù)的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09
寫了10年的Javascript也未必全了解的連續(xù)賦值運算
很喜歡 蔡蔡 的這個標(biāo)題,實際蔡蔡已經(jīng)分析過了,這里借用了?;蛟S有點標(biāo)題黨的意思??赐昃椭?。2011-03-03
iscroll-probe實現(xiàn)下拉刷新和下拉加載效果
這篇文章主要為大家詳細介紹了iscroll-probe下拉刷新和下拉加載,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06
BootStrap Progressbar 實現(xiàn)大文件上傳的進度條的實例代碼
這篇文章主要介紹了BootStrap Progressbar 實現(xiàn)大文件上傳的進度條的實例代碼的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-06-06
使用 Jest 和 Supertest 進行接口端點測試實例詳解
這篇文章主要介紹了使用 Jest 和 Supertest 進行接口端點測試,結(jié)合實例形式詳細分析了使用 Jest 和 Supertest 進行接口端點測試具體原理、操作技巧與相關(guān)注意事項,需要的朋友可以參考下2020-04-04
js實現(xiàn)獲取最新本周周一開始的日期(單周日歷卡)
這篇文章主要為大家介紹了js實現(xiàn)獲取最新本周周一開始的日期(單周日歷卡)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-10-10

