全局块作用域

var 被用于全局作用域时,他会创建一个新的全局变量作为全局对象(浏览器环境中的window对象)的属性。这意味着var可能会无意中覆盖一个已经存在的全局属性。

var RegExp = "hello";
console.log(window.RegExp);

如果在全局作用域中使用let或者const,会在全局作用域下创建一个新的绑定,但该绑定不会添加为全局对象的属性。用let和const不能覆盖全局变量,而只能覆盖它。

使用块级作用域最佳实践:默认使用const,只在确实需要改变变量的值时使用let。这样就可以在某种程度上实现代码的不可变,从而防止某些错误的产生。


  Reprint please specify: 云深不知处 全局块作用域

 Previous
字符串 字符串
字符的Unicode表示法JavaScript允许采用\uxxxx表示一个字符,其中xxxx表示字符的码点。 console.log("\u0061"); //a 但是这种表示法只限于\u0000 -- \uFFFF之间的字符。超出这个范
2019-03-11
Next 
循坏中的块级作用域绑定 循坏中的块级作用域绑定
循坏中的块级作用域绑定 for (var i = 0; i < 10; i++) { } console.log(i); console.log(i)由于var声明得到提升,变量i在循坏结束后仍然可以访问。 for (let i
2019-03-10
  TOC