JavaScript探索--1

apply与call

  该方法能够扩展函数赖以运行的作用域

为了加深理解,本人写个随笔,以便以后查阅,话不多说,直接上代码

<script>
    var color = '红色';
    var box = {
        color : '蓝色'
    };
    function sayColor(){
        console.log(this.color);//this指代的作用域不同
    };
    sayColor.apply(this); //this指全局作用域
    sayColor.apply(box); //box指box对象作用域
</script>

 

注意:apply与call的区别:传递参数不同

<script>
function sun(num1,num2){
    
     return num1 + num2;
}
function sum2(num1,num2){
    sum.apply(this,arguments);
    sum.call(this,[num1,num2]);
    
}

sum2(10,10);
</script>

 

 

 

}

posted @ 2018-03-17 22:56  徐小呆  阅读(63)  评论(0)    收藏  举报