您的位置:首页 > 移动开发

JavaScript中函数的属性和call和apply

2015-05-06 13:50 543 查看
<script>    /**
* 函数同样有两个非常有用的属性:length和prototype
* length指的是该函数所期望传递将来的参数个数
*/

/**
* call和apply方法是可以通过函数名称来调用函数。
* 对于apply而言
* 有两个参数,第一个是调用的上下文,第二个参数是数组,
* 可以直接把arguments传递进去。
*/

function sum(num1, num2) {
return num1 + num2;
}

function callSum(num1, num2) {
// 使用sum这个函数来完成一次调用,调用的参数就是这个函数的参数
// this指的是window,apply的第二个参数表示一组数组
return sum.apply(this, arguments);
}

alert(callSum(23, 35));

</script>


<script>
var color = "red";
function showColor() {
alert(this.color);
}

function Circle(color) {
this.color = color;
}
var c = new Circle("yellow");
showColor.call(this);//使用上下文来调用showColor,结果是red
showColor.call(c);//上下文对象是c,结果是yellow
/**
* 通过以上发现,使用call和apply之后,对象中可以不需要定义方法了。
* 这就是call和apply的一种运行
*/
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: