<script>
1..z
</script>
这不会给出语法或运行时错误。看起来数字和变量名可以是任何其他名称 (123..qwerty
)。我想知道这句话是什么意思?
最佳答案
不是范围,1..z
表达式将简单地返回undefined
。
为什么?
第一个点结束 Numeric Literal 的表示,给你一个 Number
原语:
var n = 1.;
数字文字的语法是这样表达的:
DecimalIntegerLiteral . DecimalDigitsopt ExponentPartopt
如您所见,点之后的 DecimalDigits 部分是可选(opt 后缀)。
第二个点是属性访问器,它只会尝试获取 z
属性,该属性是 undefined
因为它不存在于 Number .prototype
对象:
1..z; // undefined
1..toString(); // "1"
等同于使用括号表示法属性访问器访问属性:
1['z']; // or
1['toString']();
关于javascript - `1..something` 在 JavaScript 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2300197/