たとえば、文字列に 'foo'を追加する必要があります。Object.prototypeの拡張機能として機能を定義する前に考えるべきことは?
私は少なくとも2つの方法があります。
まず、私はString.prototype.fooを実装することができます。
String.prototype.foo = function() {
return this + 'foo';
};
var s = 'str';
var data = s.foo(); // "strfoo"
別の方法:
function foo(str) {
return str + 'foo';
}
var s = 'str';
var data = foo(s); // "strfoo"
どちらがきれいに見えます。しかし、私は最初のまたは2番目の実装を選択する前に、 "水中の岩"について考えるべきですか?効率性やパフォーマンスなどの重要な理由はありますか?
両方..あなたは 'this'コンテキストを使用しているが、後の例では、引数を使用している:ここでは
はさらにグローバルオブジェクトと欠点を修正することについて読んでいる
あなたがしていることを知っている限り、練習は大丈夫です.. – Rayon