代码改变世界

js函数基础知识

2017-03-04 12:31  老安的世界  阅读(219)  评论(0编辑  收藏  举报

函数是对象的一种,函数名是对象的指针

函数作为参数传递

var box=function(a,b) {
    return a(b);
}

function a(b){
    return b+10;
}

alert(box(a,3));

 arguments.callee调用自身

function box(num){
    if(num<=1){
        return 1;
    }else{
        return num*arguments.callee(num-1);
    }
}

document.write(box(10));

this表示函数所处的作用域对象,如果在对象里面,就表示这个对象

全局下,this表示window

var box={
    name:"田伟",
    func:function(){
        return this.name;
    }
}

document.write(box.func());//田伟

函数的原型对象prototype 有2个方法call(),replay();

function box(a,b){
    return a+b;
}
function sum(c,d){
    return box.apply(this,[c,d]);
  //return box.apply(this,arguments); } document.write(sum(
3,4));
//冒充box,this表示box在window下面
function box(a,b){
    return a+b;
}
function sum(c,d){
    return box.call(this,c,d);
}
document.write(sum(3,555));

call   对象冒充

var color="蓝色";
var box={
    color:"红色"
}

function showcolor() {
    return this.color;
}
document.write(showcolor.call(box));