码迷,mamicode.com
首页 > 其他好文 > 详细

改变this对象的指向

时间:2016-11-30 22:55:38      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:rip   个数   参数   class   push   call   name   方式   sch   


call apply bind 可以改变this对象的指向

第一个参数都是this要指向的对象

区别:
第一个参数后面的参数:
call传参是一个一个传:

apply传参是封装成一个数组:

bind传参的方式与call一样,但是bind方法返回的任然是一个函数

需要在函数外加一个括号来调用

<script>
    var p1 = {
        name: "张三",
        age: 20,
        sayName: function(school,grade){
            alert(this.name + "在" + school + "上" + grade + "年级");
        }
    }
    var p2 = {
        name: "李四",
        age: 23
    }

    //p1.sayName("阳光小学",3)
    //p1.sayName.call(p2,"阳光小学",3)
    //p1.sayName.call(p2);
    //p1.sayName.apply(p2,["阳光小学",3]);

    //p1.sayName.bind(p2,"阳光小学",3)();
    //p1.sayName.bind(p2)("阳光小学",3);


    function add(){
        //console.log(arguments);
        //arguments.push(10);
        [].push.call(arguments,10);
        console.log(arguments);
    }
    add(1,2,3,4,5)
    </script>

 

改变this对象的指向

标签:rip   个数   参数   class   push   call   name   方式   sch   

原文地址:http://www.cnblogs.com/wenyang/p/6119558.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!