AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > JavaScript

函数四种调用模式以及其中的this指向

51自学网 http://www.wanshiok.com
函数的四种调用模式,this的四种指向

第一种:函数直接执行模式

function add(a,b){   console.log(this);   return a+b;  } add(10,20)//this===window

第二种:对象方法的调用模式

var obj={   name:'aaa',   age:20,   said:function(){    console.log(this);   }  }obj.said();//this===obj,此处this指代被调用者

第三种:构造器的调用模式

function School(){   this.said=function(){    console.log(this);   }  }var nanj=new School();nanj.said();//对象调用自己的方法,this===nanj,类似上面

第四种:call和apply调用模式

function change(a,b){   this.detial=a*b;   console.log(this);  }  var p={};  change.call(p,4,5);//此处的this===p  console.log(p.detial);  var q=[];  change.call(q,5,10)//this===q  console.log(q.detial);  //apply和call一样的用法,只不过apply第二个参数用数组进行传递  var arr=[];  change.apply(arr,[10,10]);//this===arr  console.log(arr.detial);  var str={};  change.apply(str,[20,20]);//this===str  console.log(str.detial);

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持wanshiok.com!


函数的四种调用模式,this的四种指向  
上一篇:javascript循环链表之约瑟夫环的实现方法  下一篇:js实现导航栏中英文切换效果