一切都与功能原型相关联吗?

时间:2012-05-05 12:08:25

标签: javascript

我正在阅读JavaScript没有事先知识的好零件,这让我感到困惑。我想我需要澄清一下。

  

JavaScript允许扩充语言的基本类型。在第3章中,我们看到向Object.prototype添加方法使该方法可用于所有对象。这也适用于函数,数组,字符串,数字,正则表达式和布尔值。   例如,通过扩充Function.prototype,我们可以使一个方法可用于所有函数:

然后继续这个例子:

Function.prototype.method = function (name, func) {
     this.prototype[name] = func;
     return this;
};

现在每个基本类型都有一个“方法”方法,因此可以为它们定义新函数,例如:

Number.method('integer', function () {
    return Math[this < 0 ? 'ceiling' : 'floor'](this);
});

但是这本书以前注意到所有与Object无关的链接!这是怎么回事?

1 个答案:

答案 0 :(得分:3)

不,只有函数有Function.prototypeNumber是构造函数函数,因此它与该原型“链接”。

以下是nodejs / V8 shell对Number所说的内容:

> Number
[Function: Number]
> typeof Number
'function'