js中Number对象内置方法的一些疑惑。

大家都知道,JS里的对象都有内置了很多对象方法

比如:

var arr = [1, 2, 3, 4, 5]; arr.join(); 

//输出"12345"

[1, 2, 3, 4, 5].join('');

 //同样可以正确输出 "12345"    


var str = 'helloWorld'; str.substr(5, 5);

//输出 "World"

'helloWorld'.substr(5,5);

//也同样可以输出"World"


等等...

数组和字符串的内置对象方法都是可以通过字面量对象直接调用的

但是到了Number这里,好像就不太行了

比如

var num = 10;

num.toString(2);

//输出"1010"


10.toString(2);

//报错Uncaught SyntaxError: Invalid or unexpected token


但是加一个小数点,就可以了

10.1.toString(2);

//"1010"


Number里面所有的内置方法都是这种情况,

好像必须要加小数点,JS引擎才能正确识别这是一个数字,不知道这是为什么。

谢谢大家~~


鸿蒙传说
浏览 483回答 1
1回答

江户川乱折腾

因为 var a = 10. 是合法的, 所有必须再加一个 . ,10..toString(2) === '1010'在JavaScript中,数字后面的"."操作符是的意义是不确定。因为它既可能是一个浮点数的标志,又可能是取一个对象的属性的运算符。但是JavaScript的解释器把它当做了浮点数的标志,
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript