Javascript 我能';不要把我的头绕在具体的问题上;这";结合
Javascript 我能';不要把我的头绕在具体的问题上;这";结合,javascript,Javascript,var obj={ 日志:函数(){ console.log(this); var nestedLog=函数(){ console.log(this); } nestedLog(); } }; obj.log() .as控制台包装{max height:100%!important;top:0;}log是obj的方法,所以它被设置为obj 当函数作为对象的方法调用时,其this设置为调用该方法的对象 nestedLog不是对象方法,因此this设置为windowobject 在功能方面 此将默认
var obj={
日志:函数(){
console.log(this);
var nestedLog=函数(){
console.log(this);
}
nestedLog();
}
};
obj.log()代码>
.as控制台包装{max height:100%!important;top:0;}
log
是obj
的方法,所以它被设置为obj
当函数作为对象的方法调用时,其this
设置为调用该方法的对象
nestedLog
不是对象方法,因此this
设置为window
object
在功能方面
此
将默认为全局对象,即浏览器中的窗口
Use可以使用
var obj={
日志:函数(){
console.log(this);
变量nestedLog=()=>{
console.log(this);
}
nestedLog();
}
};
obj.log()代码>
.as控制台包装{max height:100%!important;top:0;}
log
是obj
的方法,所以它被设置为obj
当函数作为对象的方法调用时,其this
设置为调用该方法的对象
nestedLog
不是对象方法,因此this
设置为window
object
在功能方面
此
将默认为全局对象,即浏览器中的窗口
Use可以使用
var obj={
日志:函数(){
console.log(this);
变量nestedLog=()=>{
console.log(this);
}
nestedLog();
}
};
obj.log()代码>
.as控制台包装{max height:100%!important;top:0;}
nestedLog
只是一个局部变量,没有执行this
。除非您像这样调用它nestedLog.bind(this)(
或使用箭头函数,否则它将是一个窗口。nestedLog
在调用时没有任何this
绑定。它是否是局部变量并不相关。重要的是它的调用方式。nestedLog
只是一个局部变量,没有执行this
。除非您像这样调用它nestedLog.bind(this)(
或使用箭头函数,否则它将是一个窗口。nestedLog
在调用时没有任何this
绑定。它是否是局部变量并不相关。重要的是它的称呼方式。