相关疑难解决方法(0)

让let语句在全局对象上创建属性吗?

在JavaScript中,var声明在全局对象上创建属性:

var x = 15;
console.log(window.x); // logs 15 in browser
console.log(global.x); // logs 15 in Node.js
Run Code Online (Sandbox Code Playgroud)

ES6引入let了具有块范围的声明的词法作用域.

let x = 15;
{
   let x = 14;
}
console.log(x); // logs 15;
Run Code Online (Sandbox Code Playgroud)

但是,这些声明是否在全局对象上创建属性?

let x = 15;
// what is this supposed to log in the browser according to ES6?
console.log(window.x); // 15 in Firefox
console.log(global.x); // undefined in Node.js with flag
Run Code Online (Sandbox Code Playgroud)

javascript let ecmascript-6

41
推荐指数
3
解决办法
2863
查看次数

使用变量"name"不适用于JS对象

可以在这个小片段中看到该行为(将其作为全局脚本执行):

var name = {};
name.FirstName = 'Tom';
alert(name.FirstName);
Run Code Online (Sandbox Code Playgroud)

undefinedChrome中的警报产生但可以在IE和Firefox中使用.当我这样做时,我也得到一个奇怪的价值

alert(name);
Run Code Online (Sandbox Code Playgroud)

javascript object window-object

26
推荐指数
3
解决办法
2230
查看次数

标签 统计

javascript ×2

ecmascript-6 ×1

let ×1

object ×1

window-object ×1