zoukankan      html  css  js  c++  java
  • 改变this对象的指向


    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>
  • 相关阅读:
    第一阶段意见评论
    软件工程--第十一周学习进度
    第一阶段SCRUM冲刺 10
    冲刺(三)
    冲刺(二)
    冲刺(一)
    梦断代码阅读笔记01
    第八周总结
    NABCD项目分析
    第七周总结
  • 原文地址:https://www.cnblogs.com/wenyang/p/6119558.html
Copyright © 2011-2022 走看看