1

次のJSは、オブジェクトを構築するための違いは何でしょうか。それはスタイルのもの/標準のものですか?もしそうなら、どれが最も一般的ですか?

例1:

var MyNamspace = {
  オプション:{テスト:10}、
  someFunction:function(){alert( "Hello"); }
}

例2:

var MyNamespace = {};
MyNamespace.options = {テスト:10};
MyNamespace.someFunction = function(){alert( "Hello"); }

ありがとう。

4

3 に答える 3

4

2つの間に有意差はありません(2番目はおそらくわずかに遅いですが)。

最初の例はより一般的です。

于 2012-07-16T11:28:32.580 に答える
2

最初のMyNamspaceものには「e」がありません。それ以外の場合、機能的な違いはありません。

someFunc.prototype2番目のパターンは、拡張したいプロパティ(など)を持つオブジェクトがすでに存在するが、上書き部分( MyNamespace = {};)を省略しておく必要がある場合に使用されます。

于 2012-07-16T11:40:20.017 に答える
1

2番目のオプションは既存の型を変更するため、同じ場合、2番目のオプションは、次のように既存の型の署名を変更します。MyClass.prototype.someFunction = function() { }

これは、JavaScriptが便利に柔軟にできる場所です。

于 2012-07-16T11:31:03.390 に答える