为什么在尝试重新分配时无穷大而不给出错误,但不能分配?
var x = 3;
x = 1; // good, normal
true = 3; // error, normal
Infinity = 4; // no error
console.log(Infinity); // Infinity
您可以阅读here:
Infinity是全局对象的property,或者换句话说,变量在全局范围内。
由于它是全局属性,因此您可以访问它并分配任何值。但是,将值分配给non可写属性不会引发任何异常,当您处于not严格模式时,并且不会更改该属性的值。
如果使用“严格模式”,则会引发异常。
"use strict"
Infinity = 4;