Javascript一共有四种调用模式:方法调用模式、函数调用模式、构造器调用模式以及apply调用模式。调用模式不同,对应的隐藏参数this值也会不同。
二 方法调用模式
函数作为对象的属性时,称为方法。此时函数(即方法)中的this对应是该对象。
复制代码
调用:即对象调用属性
1
2
3
4
5
6
7
8var myObject = { value:3, func:function() { alert(this.value); } };
复制代码
1myObject.func();
三 函数调用模式
函数调用模式即通常的函数调用,属于全局性调用,此时this对应的是全局对象,即Window对象。
复制代码
调用:全局函数直接调用函数名即可
1
2
3
4var add = function(a, b) { return a + b; }
复制代码
1
2add(3,4);
四 构造器调用模式
若在函数前面通过new 来调用,其实是生成一新对象,this自然指向该新对象。
复制代码
1
2
3
4var add = function(a, b) { return a + b; }
利用构造器,new出一个新的对象
复制代码
对于构造器调用模式,如果函数返回值不是一个对象,则返回该新对象,即this。
1var obj = new add(3, 4);//obj为一对象:
五 apply调用模式
apply方法有两个参数,第一个是要绑定给this的值,第二个是一个参数数组。
复制代码
1
2
3
4var sum = add.apply(null,[3,4]); // this对应全局变量,即window对象 var sum2 = add.apply(myObject,[3,4]); //this对应为myObject对象
最后
以上就是火星上台灯最近收集整理的关于Javascript函数调用的四种模式的全部内容,更多相关Javascript函数调用内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复