为什么在JavaScript中分配Infinity不会引发错误,但不起作用?

问题描述 投票:4回答:1

为什么在尝试重新分配时无穷大而不给出错误,但不能分配?

var x = 3;

x = 1; // good, normal
true = 3; // error, normal

Infinity = 4; // no error

console.log(Infinity); // Infinity
javascript variables variable-assignment infinity
1个回答
5
投票

您可以阅读here

Infinity是全局对象的property,或者换句话说,变量在全局范围内

由于它是全局属性,因此您可以访问它并分配任何值。但是,将值分配给non可写属性不会引发任何异常,当您处于not严格模式时,并且不会更改该属性的值。

如果使用“严格模式”,则会引发异常。

"use strict"

Infinity = 4;
© www.soinside.com 2019 - 2024. All rights reserved.