2

Douglas Crockfordの「Javascript:TheGoodParts」をフォローしようとしています。第4章では、彼は私が驚異的だと思う拡張タイプについて話します。ただし、彼のサンプルコードを機能させることはできません。Numberインスタンスに整数メソッドを追加する方法は次のとおりです。

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

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

ここまでは順調ですね。しかし、これが彼が拡張メソッド整数を使用する方法であり、それは機能しません(少なくともjsFiddleでは機能しません):

document.writeln((-10 / 3).integer(  ));  // -3

しかし、これは機能します:

document.writeln((-3.3).integer(  ));  // -3

ここで何が起こったのか誰かが私に説明してもらえますか?どちらもタイプ番号です...

ありがとう。

4

1 に答える 1

3

ceiling名前をに変更する必要がありますceil。たぶん本の誤り?

于 2013-01-09T07:14:13.793 に答える