关于Js函数对象的apply()和call()方法
来源:互联网 发布:2017年的网络新词 编辑:程序博客网 时间:2024/06/06 18:45
每个函数都包含两个非继承而来的方法,call()和apply().这两个方法都是在特定的作用域中调用函数,实际等于设置函数体内this对象的值。
首先apply()方法接受两个参数,一个是其中运行函数的作用域,另一个参数是数组,可以是Array的实例也可以是arguments对象。
例如:
function sum(num1,num2)
{
retuen num1+num2;
}
function callsum1(num1,num2)
{
return sum.apply(this,arguments);
}
function callsum2(num1,num2)
{
return sum.apply(this,[num1,num2]);
}
alert(callsum1(10,10));//20
alert(callsum2(10,10));//20
这里因为实在全局作用域中调用的所以this是window对象。
call()方法和apply()方法作用相同,第一个参数相同,后面的传入的参数必须逐个列举出来。
function sum(num1,num2)
{
return num1+num2;
}
function callsum(num1,num2)
{
return sum.call(this,num1,num2);
}
alert(callsum(10,10));//20
实际上传递参数并不是这两个方法的真正用武之地,他们真正的作用是扩展作用域。
window.color = “red”;
var o ={color:”blue’};
function saycolor(){
alert(this.color);
}
saycolor.call(this);//red
saycolor.call(window);//red
saycolor.call(o);//blue
这里前面两个传入的参数都是window所以输出的是red,第三个传入的参数是o所以是的saycolor的this属性指向o,输出blue
- 关于Js函数对象的apply()和call()方法
- 关于js的call函数和apply函数
- 谈谈关于js中关于函数的apply和call方法的理解
- 【JS--基础--函数】--函数的通用方法-call()和apply()
- 关于js中call和apply函数的应用
- js的call方法和apply方法
- js的call()和apply()方法
- js call和apply方法的了解
- js里的call和apply方法
- js的apply()和call()方法
- 关于javascript的apply和call函数
- 关于javascript的apply和call函数
- 关于javascript的apply和call函数
- javascript 函数的方法call()和apply()
- JS 函数call和apply
- 关于call和apply函数
- js中函数对象的方法,原型方法apply、call、bind、toString、toLocaleString、valueOf
- js 函数调用其他函数和方法 call,apply关键字
- bzoj1212: [HNOI2004]L语言
- python学习笔记(三)函数
- JAVA里的回车和换行
- 2017.4.8考试总结
- Oracle GoldenGate Downloads 12C
- 关于Js函数对象的apply()和call()方法
- Java基础类型与其二进制表示
- Aladdin and the Flying Carpet
- Sqlserver的事务处理
- java设计模式之策略模式
- 【2017超星 尔雅完整答案】中国宪制史: 从《南京条约》到《临时约法》
- 利用Python,四步掌握机器学习
- jzoj P2434 【普及_模拟】开关灯泡
- 【Java基础知识】数据类型与运算符