我只是想知道将数字作为参数附加到toString()
方法
E.g。 obj.toString(10);
我用Google搜索,之前从未见过参数。
答案 0 :(得分:29)
附加参数仅适用于Number.prototype.toString
以指定基数(2到36之间的整数,指定用于表示数值的基数):
var number = 12345;
number.toString(2) === "11000000111001"
number.toString(3) === "121221020"
// …
number.toString(36) === "9ix"
答案 1 :(得分:9)
这仅适用于Number对象,旨在为您提供一种显示具有特定基数的数字的方法:
var n = 256;
var d = n.toString(10); // decimal: "256"
var o = n.toString(8); // octal: "400"
var d = n.toString(16); // hex: "100"
var b = n.toString(2); // binary: "100000000"
var w = n.toString(20); // base 20: "cg"
请注意,基数必须是2到36之间的整数,否则toString()
会引发错误。
答案 2 :(得分:2)
它没有被定义为toString
的全局适用参数,它只在Number
上有意义,它指定要写入的基数。您可以使用例如。 n.toString(16)
转换为十六进制。
其他内置对象不使用任何参数,JavaScript会默默地忽略未使用的参数,因此将16
传递给任何其他toString
方法都没有区别。您当然可以创建自己的toString
方法,其中可选参数可以表示您喜欢的任何内容。