Javascript 重写toString函数
我在一些开源javascript项目中看到了这个函数。此功能的用途是什么?让我们依次查看每个组件: return:返回调用函数返回的任何值 {}:这声明了一个空对象 .toString:每个对象上的toString函数Javascript 重写toString函数,javascript,tostring,Javascript,Tostring,我在一些开源javascript项目中看到了这个函数。此功能的用途是什么?让我们依次查看每个组件: return:返回调用函数返回的任何值 {}:这声明了一个空对象 .toString:每个对象上的toString函数 .call:方法调用具有给定此值的函数,请参阅。在本例中,这是传递到toString函数的obj。让我们依次处理每个组件: return:返回调用函数返回的任何值 {}:这声明了一个空对象 .toString:每个对象上的toString函数 .call:方法调用具有给定此值的函
.call:方法调用具有给定此值的函数,请参阅。在本例中,这是传递到toString函数的obj。让我们依次处理每个组件: return:返回调用函数返回的任何值 {}:这声明了一个空对象 .toString:每个对象上的toString函数 .call:方法调用具有给定此值的函数,请参阅。在这种情况下,这是传递给toString函数的obj。当用于数字和字符串时,它会产生类似[object Number]或[object String]的结果,但其确切用途取决于它的使用方式 在您正在查看的代码中查找它的用法示例,这会让您更好地了解它的用途 它可以作为一种方法来识别未知变量的类型,一种比typeof更复杂的替代方法,因为它返回像[object HTMLBodyElement]这样的结果。当对数字和字符串使用时,它会产生像[object Number]或[object String]这样的结果,但它的确切用途取决于它的使用方式 在您正在查看的代码中查找它的用法示例,这会让您更好地了解它的用途 它可以作为一种识别未知变量类型的方法,一种比typeof更复杂的替代方法,因为它返回的结果类似于[object HTMLBodyElement]给出的“what”。“为什么”是:在输入对象上使用base Object.toString,即使该对象自己的原型有一个更专门的toString。给出了“what”。“为什么”是:在输入对象上使用base Object.toString,即使该对象自己的原型有一个更专门的toString
function toString(obj) {
return {}.toString.call(obj);
}