this 的基础学习
-
函数里面的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] } }
-
函数.call(),是根据传递进来的对象
function fun_c(){ console.log(this); } //函数.call(),是根据传递进来的对象 fun_c.call({name:"zhangsan"}); //打印结果 { name: 'zhangsan' }
-
表.函数在打印this的时候是,this指的是对应的表
function fun_c(){ console.log(this); } //表.函数在打印this的时候是,this指的是对应的表 let model = { fun:fun_c, } model.fun(); //{ fun: [Function: fun_c] }
-
bind 是强制产生一个bind this的新的函数对象
console.log(fun_c.bind({name:"lisi"}));
javascript基础教程