小熊1986

导航

this 的基础学习

  1. 函数里面的this,this是什么调用环境来决定的

    function fun_c(){
        console.log(this);
    }
    
    fun_c();//这个时候打印的是
    

    打印出来的结果是

    Object [global] {
      global: [Circular],
      clearInterval: [Function: clearInterval],
      clearTimeout: [Function: clearTimeout],
      setInterval: [Function: setInterval],
      setTimeout: [Function: setTimeout] { [Symbol(util.promisify.custom)]: [Function] },
      queueMicrotask: [Function: queueMicrotask],
      clearImmediate: [Function: clearImmediate],
      setImmediate: [Function: setImmediate] {
        [Symbol(util.promisify.custom)]: [Function]
      }
    }
    
  2. 函数.call(),是根据传递进来的对象

    function fun_c(){
        console.log(this);
    }
    
    //函数.call(),是根据传递进来的对象
    fun_c.call({name:"zhangsan"}); //打印结果 { name: 'zhangsan' }
    
  3. 表.函数在打印this的时候是,this指的是对应的表

    function fun_c(){
        console.log(this);
    }
    
    //表.函数在打印this的时候是,this指的是对应的表
    let model = {
        fun:fun_c,
    }
    
    model.fun(); //{ fun: [Function: fun_c] }
    
  4. bind 是强制产生一个bind this的新的函数对象

    console.log(fun_c.bind({name:"lisi"}));
    

posted on 2020-11-27 16:28  小熊1986  阅读(44)  评论(0编辑  收藏  举报