//function类型
//1.函数可以传递函数
function box(sum,num){
return sum+num;
}
function sum(num){
return num+10;
}
var result=box(sum(10),10);
alert(result);
//arguments.callee
function box(num){
if(num<=1){
return 1;
}else{
return num*arguments.callee(num-1);//arguments.callee调用自身实现递归
}
}
alert(box(4));
//this引用
//alert(this);//表示windows,因为在windows下,windows表示全局
//var color='红色的';//这里color是全局变量,而color又是windows下的属性
//alert(this.color);
//alert(window.color);
window.color="红色的";
alert(this.color);
var box={
color:"蓝色的",//这里的color是局部变量
sayColor:function(){
alert(this);
alert(this.color);
}//this代表box
}
alert(this);
box.sayColor();
//apply和call可以冒充另外一个函数
function box(num1,num2){
return num1+num2;
}
function sum(num1,num2){
return box.apply(this,[num1,num2])//this表示window作用域,[]表示传递的参数
}
alert(sum(1,2));
var color="蓝色的";//全局
var box={
color:"红色的",
};
function sayColor(){
alert(this.color);
};
sayColor();
sayColor.call(box);
阅读(774) | 评论(0) | 转发(0) |