Ben*_*aum 4 javascript infinity
我在看JavaScript的数字类型系统.
我正在使用Chrome,当我评估15--一个数字文字时,我得到了一个,ReferenceError因为减少常数是没有意义的.
当我var x=10;x--;按预期评估时,一切正常.
期待var a=Infinity;a--评估Infinity,这一切都有道理,并符合javascript语言规范.
但令我惊讶Infinity--并Infinity++评价Infinity不同于其他文字.
这也是Number.POSITIVE_INFINITY相同的.
tl;博士:
为什么Infinity--产生无穷大的结果时15--,并(new Number(15))--产生引用错误?
Fel*_*ing 11
Infinity在您的示例中使用的实际上不是值,而是指Infinity全局对象的属性:
15.1全球对象
[...]
15.1.1全局对象的值属性
[...]
15.1.1.2无穷大
的值Infinity是+?(见8.5).此属性具有{[[Writable]]:false,[[Enumerable]]:false,[[Configurable]]:false} 属性.
因此,Infinity--相同window.Infinity--是完全有效的.
| 归档时间: |
|
| 查看次数: |
1011 次 |
| 最近记录: |