根据这个 MDN page,toLocaleString
是关于转换日期。但是,Chrome 不仅仅在字符串上公开了该功能。例如:
a = function () {};
a.toLocaleString(); // "function () {}"
是什么toLocaleString
?为什么它会暴露在例如空函数上?
根据这个 MDN page,toLocaleString
是关于转换日期。但是,Chrome 不仅仅在字符串上公开了该功能。例如:
a = function () {};
a.toLocaleString(); // "function () {}"
是什么toLocaleString
?为什么它会暴露在例如空函数上?
它也可以在 上使用Object.prototype
,因此几乎可以间接使用。
对于 Chrome,您可以查看V8 的 implementation,它并没有做任何花哨的事情:
function ObjectToLocaleString() {
if (IS_NULL_OR_UNDEFINED(this) && !IS_UNDETECTABLE(this)) {
throw MakeTypeError("called_on_null_or_undefined",
["Object.prototype.toLocaleString"]);
}
return this.toString(); // <-- just calls toString
}