调用:(调用一个函数将暂停当前函数的执行,传递控制权和参数给新函数)
每个函数接受连个附加参数:this (取决于调用的模式)、argument。
js的四种调用模式及this指向:
1、方法调用:(函数被保存为对象的一个属性)当一个方法被调用时,this被绑定到该对象上
var myObj = { value: 0; increment: function(inc){ this.value += typeof inc === 'number' ? :1; } }; myObj.increment()
上面的this指向的就是 myObj 对象。
2、函数调用(当函数并非是一个对象的属性是,而是被当做一个函数正常调用),this 被绑定到全局属性上;
var helper = function (){ console.log(this); } helper(); //window
3、构造器调用(在函数前带上 new 调用,将创建一个新对象,this指向该新对象
var Per = function (){ //... } var john = new Per(); //this 指向 John
4、apple调用(传入两个参数,其中第一个参数为将被绑定给this的值)
var sum = add.apple(this,array);//this 指向 sum(sum调用 add 方法,并传入参数【array数组】)