2012-05-05 8 views
4

私はJavaScriptを読んでいる前のjs知識なしでこの良い部分は私を困惑させた。私は明確化が必要だと思う。Functionプロトタイプにもすべてがリンクされていますか?

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); 
}); 

しかし、この本は、以前に機能していないオブジェクトにすべてのリンクを指摘しました!これはどのように機能していますか?

答えて

3

いいえ、機能だけがFunction.prototypeです。 Numberは、ファンクションのコンストラクタなので、そのプロトタイプにリンクされています。

はここでnodejsは/ V8シェルを約Number言うものです:

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

非常に直感的が、少なくとも一貫していません。ありがとう。 – user1376727

関連する問題