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

3种方法改变this的指向

时间:2020-06-06 10:54:35      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:第一个   func   name   调用   bsp   指定   call   apply   使用   

<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的指向

标签:第一个   func   name   调用   bsp   指定   call   apply   使用   

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

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