首页 > 代码库 > 改变this对象的指向
改变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>
改变this对象的指向
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。