国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

javascript中call,apply,bind函數用法示例

2019-11-19 18:24:15
字體:
來源:轉載
供稿:網友

本文實例講述了javascript中call,apply,bind函數用法。分享給大家供大家參考,具體如下:

一.call函數

a.call(b);

簡單的理解:把a對象的方法應用到b對象上(a里如果有this,會指向b)

call()的用法:用在函數上面

var Dog=function(){  this.name="汪星人";  this.shout=function(){  alert(this.name);  }};var Cat=function(){  this.name="喵星人";  this.shout=function(){  alert(this.name);  }};var dog=new Dog();var cat=new Cat();dog.shout();cat.shout();

如果貓函數中沒有shout方法,要達到一樣的效果

var Dog=function(){  this.name="汪星人";  this.shout=function(){  alert(this.name);  }};var Cat=function(){  this.name="喵星人";};var dog=new Dog();var cat=new Cat();dog.shout();dog.shout.call(cat);cat.shout();

call的作用:函數可以復用

二、apply函數

var xh={  name:"小紅",  job:"前端工程師"};var xm={  name:"小明",  job:"js工程師"};var xw={  name:"小王",  job:"html5工程師"};function myjob(gender,age,company){  alert(this.name+","+gender+",今年"+age+"歲,在"+company+"擔任"+this.job);}myjob.call(xh,"女",24,"騰訊");myjob.call(xm,"男",22,"新浪");myjob.call(xw,"男",28,"網易");

call函數和apply函數功能一樣,區別是第二個參數形式不一樣,call傳遞多個參數,任意形式(傳入參數和函數所接受參數一一對應),apply第二個參數必須是數組形式,如a.call(b,2,3); ==>  a.apply(b,[2,3]);

var xh={  name:"小紅",  job:"前端工程師"};var xm={  name:"小明",  job:"js工程師"};var xw={  name:"小王",  job:"html5工程師"};function myjob(gender,age,company){  alert(this.name+","+gender+",今年"+age+"歲,在"+company+"擔任"+this.job);}myjob.apply(xh,["女",24,"騰訊"]);myjob.apply(xm,["男",22,"新浪"]);myjob.apply(xw,["男",28,"網易"]);

三、bind函數

call,apply和bind都可以“綁架”this,逼迫其指向其他對象

使用上和call,apply的區別,如

xw.say.call(xh);     //對函數直接調用xw.say.apply(xh);   //對函數直接調用xw.say.bind(xh)();   //返回的仍然是一個函數,因此后面需要()來調用

傳參時可以像call那樣

xw.say.bind(xh,"中央大學","一年級")();

由于bind返回的仍然是一個函數,所以也可以在調用時再進行傳參

xw.say.bind(xh)("中央大學","一年級");

更多關于JavaScript相關內容可查看本站專題:《javascript面向對象入門教程》、《JavaScript中json操作技巧總結》、《JavaScript切換特效與技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結

希望本文所述對大家JavaScript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 万源市| 吕梁市| 合江县| 平邑县| 东方市| 珲春市| 马公市| 随州市| 贵南县| 六盘水市| 赫章县| 临湘市| 修武县| 葵青区| 阿拉尔市| 道真| 灵川县| 伊春市| 沾化县| 滦平县| 合山市| 邳州市| 深水埗区| 卓资县| 湖州市| 万源市| 甘孜县| 彩票| 太原市| 家居| 尼木县| 绥江县| 六安市| 宽城| 许昌市| 龙里县| 綦江县| 霍邱县| 高碑店市| 本溪| 麻栗坡县|