首页 > 其他 > 详细

3种方法改变this的指向

时间:2020-06-06 12:46:07      阅读:35      评论:0      收藏:0      [点我收藏+]
<body>
    <div style="width: 200px;height: 200px;hotpink;"></div>
    <script>
        
const fn = function(a,b){
            console.log(this.name + this.age + "是个大傻瓜" + a + b )
        }
        const obj = {
            name:"JACK",
            age:18
        }
</script>
       fn.call(obj,1,2)  //  1、call  此时fn内部的this指向的就是指定的dv
                  只需要让  fn 函数内部的 this 指向 obj 就可以使用  Obj.name
                        第一个参数就是 要让 this 指向谁就写那个东西
                        从第二个参数开始 就是依次给函数传参
  fn.apply(obj,[1,2])  //  2 apply   第一个参数 也是 this 的指向    第二个参数 是一个数组 数组里面的数据就是依次给函数传参
 
  
  fn.bind(obj)(1,2)  //  3、bind  不会立即调用  会返回一个已经改变 this 指向的新的函数 
                         bind 第一个参数 也是 this 的指向
                         如果要传参 要写在 第二个 () 里面
  
上面三种方法都是改变this的指向。
 

3种方法改变this的指向

原文:https://www.cnblogs.com/zhang-hong/p/13053630.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!