Javascript数组方法valueOf的目的是什么?

Mik*_*son 1 javascript arrays

我可能会因提出过于含糊的问题而感到hammer愧,因此,请按原意将其解释为元编程问题,而不应视为间接火焰战争。

在试图理解JavaScript的数组深一点,我跑过这个W3参考Array.valueOf

它只是说:

valueOf()方法返回数组。

此方法是数组对象的默认方法。Array.valueOf()将返回与Array相同的结果

注意:此方法不会更改原始数组。


所以,我问:有什么意义? 是否有理由使用该Array.valueOf()方法? 在某些更复杂的构造中(例如使用call或时)有用apply吗?它有助于将功能结合在一起吗?这是否仅仅是因为它创建了一个标准方法,而与其他对象相比,该valueOf方法更有用,因此有助于将其推广Array到其他对象?

据我所知,它是完全相同的,因此我看不到它的价值。

use*_*ica 6

该方法继承自Object.prototype;从其派生的每个对象Object.prototype都有它。原始包装器将覆盖它,以返回相应的原始体,例如,转换new Number(5)5。默认实现返回对象不变。

JavaScript调用valueOf方法将对象转换为原始值。您很少需要自己调用valueOf方法。当遇到需要原始值的对象时,JavaScript会自动调用它。

  • “ *每个对象都有它” *-除了那些不继承自Object.protoype` :-)的Object.create(null)之类的对象之外 (5认同)