5

根据这个 MDN pagetoLocaleString是关于转换日期。但是,Chrome 不仅仅在字符串上公开了该功能。例如:

a = function () {};
a.toLocaleString();  // "function () {}"

是什么toLocaleString?为什么它会暴露在例如空函数上?

4

1 回答 1

5

它也可以在 上使用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
}
于 2012-08-28T21:32:48.590 回答