Javascript 本地作用域内同名的控制台全局作用域变量
我想打印使用let声明的全局范围变量,该变量在函数中也使用相同的名称声明 我使用了window对象,但它一直说window未定义Javascript 本地作用域内同名的控制台全局作用域变量,javascript,node.js,variables,scope,Javascript,Node.js,Variables,Scope,我想打印使用let声明的全局范围变量,该变量在函数中也使用相同的名称声明 我使用了window对象,但它一直说window未定义 var globalLet=“这是一个全局变量”; 函数fun(){ var globalLet=“这是一个局部变量”; console.log(globalLet);//要在此处打印“This is global variable”。 } 乐趣()使用this.varname访问全局变量 var globalLet=“这是一个全局变量”; 函数fun(){ va
var globalLet=“这是一个全局变量”;
函数fun(){
var globalLet=“这是一个局部变量”;
console.log(globalLet);//要在此处打印“This is global variable”。
}
乐趣()
使用this.varname
访问全局变量
var globalLet=“这是一个全局变量”;
函数fun(){
var globalLet=“这是一个局部变量”;
console.log(this.globalLet);//要在此处打印“this is global variable”。
}
乐趣()
使用this.varname
访问全局变量
var globalLet=“这是一个全局变量”;
函数fun(){
var globalLet=“这是一个局部变量”;
console.log(this.globalLet);//要在此处打印“this is global variable”。
}
乐趣()代码>当您将this
的值设置为null
时,它将始终映射到全局对象(在非严格模式下)
这里只需声明一个匿名函数并将this
设置为null,并通过传递全局对象的属性立即调用它globalLet
将始终返回全局值
注意事项:这在严格模式下不起作用,其中此
将指向空
。
var globalLet=“这是一个全局变量”;
函数fun(){
var globalLet=“这是一个局部变量”;
globalLet=(函数(名称){返回此[name]});
console.log(globalLet);//要在此处打印“This is global variable”。
}
乐趣()代码>当您将this
的值设置为null
时,它将始终映射到全局对象(在非严格模式下)
这里只需声明一个匿名函数并将this
设置为null,并通过传递全局对象的属性立即调用它globalLet
将始终返回全局值
注意事项:这在严格模式下不起作用,其中此
将指向空
。
var globalLet=“这是一个全局变量”;
函数fun(){
var globalLet=“这是一个局部变量”;
globalLet=(函数(名称){返回此[name]});
console.log(globalLet);//要在此处打印“This is global variable”。
}
乐趣()
在全局上下文中使用此
关键字,它绑定到全局对象
var globalLet=“这是一个全局变量”;
函数fun(){
var globalLet=“这是一个局部变量”;
console.log(this.globalLet);//要在此处打印“this is global variable”。
}
乐趣()
在全局上下文中使用此
关键字,它绑定到全局对象
var globalLet=“这是一个全局变量”;
函数fun(){
var globalLet=“这是一个局部变量”;
console.log(this.globalLet);//要在此处打印“this is global variable”。
}
乐趣()代码>你能给出你得到的全部错误吗?你说的“我使用了窗口对象”是什么意思?那代码是什么样子的?您是在浏览器中运行还是通过Node.js之类的方式运行?请访问此链接并尝试运行它。@Phil via Node.Window对象是由浏览器提供的,Node没有它。您能否给出所获得的完整错误?您所说的“我使用了Window对象”是什么意思?那代码是什么样子的?您是在浏览器中运行还是通过Node.js之类的方式运行?访问此链接并尝试运行它。@Phil通过节点。窗口对象是由浏览器提供的,节点没有