7

私は基本からJavaScriptを学んでいます(C#などの他の言語でプログラムしていますが)。この2つの方法のどちらがより効率的であり、原則として使用する必要があるかという質問が浮かびました。

確かに明確な答えは期待できませんが、一般的な長所と短所を知りたいと思います。

ありがとうございました!!

4

2 に答える 2

9

通常は、オブジェクト リテラルを使用します。スクリプトをロードするときにのみ解析する必要があり、スクリプト エンジンによるさまざまな最適化を導入できます。

コンストラクターを実行する必要があります。つまり、それらは遅くなりますが、いくつかの検証コードなどを簡単に追加でき、コンストラクターのスコープに隠されているパブリック、特権メソッド、およびプライベート「属性」を使用して複雑なオブジェクトを構築できます。また、それらはもちろん、プロトタイプを共有するオブジェクトを構築します。これは便利な場合があります。

于 2012-09-10T18:03:19.223 に答える
3

どちらか一方のパフォーマンス効率を認識していません。newただし、リテラル表記は、単純さの引数のため、およびコンストラクターとキーワードの使用を回避するため、優先されるようです。

コンストラクターとnewキーワードは、JavaScript言語の否定的な機能と見なされる人もいます(Crockford-JavaScript:The GoodPartsを参照)。new Array()JSLintは、検索または使用するときにも呼び出しnew Object()ます。

于 2012-09-10T18:59:29.233 に答える