//【JS函数属性和方法】
//1.length属性,表示函数希望接收的参数的个数
function sayName(name){
alert(name);
}
function sum(num1,num2){
return num1 + num2;
}
alert(sayName.length); //1
alert(sum.length); //2
//2.apply()方法接受两个参数:一个是在其中运行函数的作用域,另一个是参数数值
function sum(num1,num2){
return num1 + num2;
}
function callSum1(num1,num2){
return sum.apply(this,arguments);//传入arguments对象
}
function callSum2(num1,num2){
return sum.apply(this,[num1,num2]);//传入数组
}
alert(callSum1(10,10));//20
alert(callSum2(10,10));//20
//2.call()方法与apply()方法的作用相同,区别在于接收参数的方式不同
function sum(num1,num2){
return num1 + num2;
}
function callSum(num1,num2){
return sum.call(this,num1,num2);
}
alert(callSum(10,10));//20
//事实上,传递参数并非apply()和call()真正的用武之地;它们的强大的地方是能够扩充函数赖以运行的作用域。
window.color = "red";
var o = {color:"blue"};
function sayColor(){
alert(this.color);
}
sayColor();//red
sayColor.call(this); //red
sayColor.call(window); //red
sayColor.call(o); //blueJS函数中的 apply() 和 call()
最新推荐文章于 2025-03-16 16:19:16 发布
本文详细介绍了JavaScript中函数的length属性及apply、call方法的使用技巧,包括如何通过这两个方法改变函数的作用域来实现更高级的功能。
1485

被折叠的 条评论
为什么被折叠?



