Что это означает, когда есть параметр number, переданный toString?
Мне просто интересно, что значит присоединить число в качестве параметра к методу toString()
например. obj.toString(10);
Я googled, и я никогда не видел параметр раньше.
Ответ 1
Дополнительный параметр работает только для Number.prototype.toString, чтобы указать radix (целое число от 2 до 36, определяющее базу, используемую для представления числовых значений ):
var number = 12345;
number.toString(2) === "11000000111001"
number.toString(3) === "121221020"
// …
number.toString(36) === "9ix"
Ответ 2
Это работает только с объектами 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() будет вызывать ошибку.
Ответ 3
Он не определяется как глобально применимый аргумент для toString, он имеет смысл только в Number, где он указывает базу для записи. Вы можете использовать, например. n.toString(16) для преобразования в hex.
Другие встроенные объекты не используют никаких аргументов, и JavaScript молча игнорирует неиспользуемые аргументы, поэтому передача 16 в любой другой метод toString не имеет значения. Вы можете, конечно, создать свои собственные методы toString, где необязательные аргументы могут означать что угодно.