js函数的length属性和call和apply函数详解
2014-11-13 22:56
429 查看
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>函数的属性</title>
<meta name="author" content="ASUS" />
<!-- Date: 2014-11-13 -->
<script type="text/javascript">
/*
*函数还有2个非常中的属性length和prototype
* length指的是函数所期望传递进来的参数的个数
* prototype指的是函数的原型
*/
function fun1(){}
function fun2(num1){}
function fun3(num1,num2){}
// alert(fun1.length);//0
// alert(fun2.length);//1
// alert(fun3.length);//2
/*
*call和apply方法是可以通过函数名称来调用的函数
* 对于apply而言
*有两个参数,第一个是调用的上下文,第二个是参数数组,可以直接把arguments传递进去
*对于call而言
*第一个参数是上下文对象,后面的参数是不同函数参数
*/
function add(a,b){
return a+b;
}
function callAdd1(a,b){
return add.call(this,a,b);
}
function callAdd2(a,b){
//此方式也可 return add.apply(this,arguments);
return add.apply(this,[a,b]);
}
// alert(callAdd1(20,30));//50
// alert(callAdd2(20,30));//50
var color="red";
function showColor(){
alert(this.color);
}
function Person(color){
this.color = color;
}
var p1 = new Person("blue");
showColor.call(p1);
//下面的this就代表window
showColor.call(this);
</script>
</head>
<body>
</body>
</html>
"http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>函数的属性</title>
<meta name="author" content="ASUS" />
<!-- Date: 2014-11-13 -->
<script type="text/javascript">
/*
*函数还有2个非常中的属性length和prototype
* length指的是函数所期望传递进来的参数的个数
* prototype指的是函数的原型
*/
function fun1(){}
function fun2(num1){}
function fun3(num1,num2){}
// alert(fun1.length);//0
// alert(fun2.length);//1
// alert(fun3.length);//2
/*
*call和apply方法是可以通过函数名称来调用的函数
* 对于apply而言
*有两个参数,第一个是调用的上下文,第二个是参数数组,可以直接把arguments传递进去
*对于call而言
*第一个参数是上下文对象,后面的参数是不同函数参数
*/
function add(a,b){
return a+b;
}
function callAdd1(a,b){
return add.call(this,a,b);
}
function callAdd2(a,b){
//此方式也可 return add.apply(this,arguments);
return add.apply(this,[a,b]);
}
// alert(callAdd1(20,30));//50
// alert(callAdd2(20,30));//50
var color="red";
function showColor(){
alert(this.color);
}
function Person(color){
this.color = color;
}
var p1 = new Person("blue");
showColor.call(p1);
//下面的this就代表window
showColor.call(this);
</script>
</head>
<body>
</body>
</html>
相关文章推荐
- 函数的apply、call方法和length属性
- JavaScript中的函数:函数的apply、call方法和length属性
- JavaScript中的函数:函数的apply、call方法和length属性
- javascript:函数的apply,call方法和length属性
- JavaScript中的函数:函数的apply、call方法和length属性
- 函数的属性length、prototype和方法call()、apply()
- JavaScript中的apply和call函数详解
- JavaScript中的apply和call函数详解
- 静态属性,函数闭包,call/apply,继承
- js中call和apply(函数的上下文调用模式)详解
- js中call和apply(函数的上下文调用模式)详解
- JavaScript中函数的属性和call和apply
- 函数的属性和方法(apply()、call())
- JavaScript中的apply和call函数详解
- 第195天:js---函数对象详解(call、apply)
- 函数内部属性 arguments、this 以及非继承而来的方法 call()和 apply()
- JavaScript中的apply和call函数详解(转)
- JS函数与call()apply()详解
- javascript基础(函数属性arguments,方法:call,apply)(二十)
- 函数属性call和apply