js中apply⽅法
在函数内部,有⼀个特殊的对象this;函数内的属性和⽅法,都是this下的属性和⽅法;如:
var name="tom";
function add(){
alert (name)
};
add() //tom;
js arguments当调⽤函数add()==>tom;实际上当调⽤函数add时,函数add内部的参数name都有⼀个前缀this;即 var window.name="tom";
function add(){
alert (this.name)
};
window.add() //tom;这样可以看出当前this指向window;
Function.apply(obj,args)⽅法能接收两个参数:
obj:这个对象将代替Function类⾥this对象
args:这个是数组或类数组,apply⽅法把这个集合中的元素作为参数传递给被调⽤的函数。
例如: function num(a,b){
console.log(a+b)
};
function add(num1,num2){
num.apply(this,arguments)
};
add(10,20) =>结果为30;
另⼀个例⼦ var color="red";
var objColor={
color:"green"
};
function addColor(){
console.log(color)
};
addColor.apply(this) ==>red;
addColor.apply(objColor) ==>green;
通过⼆个例⼦可以看出;⽅法apply可以扩充函数运⾏的作⽤域。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论