console.log(3.toString());
console.log(3..toString());
console.log(3...toString());
给人感觉第一个输出3,第二个输出3.0,第三个报错,实际情况是第一个就报错,以下分别解释
console.log(3.toString())
由于3后面是一个点,所以编译器会认为是小数,后面应当出现数字,但是出现了toString(),因此会报语法错误,但是(3).toString()不会报错,因为加上括号就变成表达式了,相当于告诉编译器后面如果出现点就代表方法调用了
console.log(3..toString());
这个可以正常输出3,3.代表了小数,后面再加一个点就是方法调用,所以会正常输出
console.log(3...toString())
由于方法的命名有规范,第一字符应当是字母或者$或者下划线,不能是'.',所以会语法报错
44个javascript问题-25(来自知乎)
最新推荐文章于 2020-09-30 11:12:43 发布