問題タブ [object-create]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
197 参照

javascript - Object.create は、Chrome の proto オブジェクトのコンソール出力を変更しますか?

ObjectChrome のコンソールの一部のオブジェクトがコンストラクター関数名の代わりに表示されていることに気付いたとき、私は今日いじっていました。

これは奇妙だったので、次のコードに要約しました。

上記のコードbでは、 は a を介して作成されてObject.createいませんが、ログに記録すると Object と表示されます。そこにはタイプミスはなく、誤って c について質問しています。b のログは、そのオブジェクトに触れていないときに変更されました。別のインスタンスを作成してc、変更しないでくださいb

これは Chrome のバグですよね?とにかくChromeにここで正しく報告させる方法はありBazますか?

これは、デバッグ目的で重要です。

ここに画像の説明を入力

更新バグが提出されました: https://code.google.com/p/chromium/issues/detail?id=478522

0 投票する
0 に答える
898 参照

java - 春の getBean が非常に遅い

以下のコードは、多くの Bean を作成し、さらに使用するためにそれらをリストに追加するために使用されます。

manyLongs は、約 350000 項目の ArrayList です。おそらくもっとある。このコードの実行には約 2 分かかることに気付きました。私が作成してタスクに追加しようとしている Bean はプロトタイプです。

350K の新しいオブジェクトを作成するには時間がかかることは理解できますが、2 つのフィールドの軽量オブジェクトには 2 分では少し長すぎるように思えます。デザインをまったく変更せずにこれらのスプリング オブジェクトを効率的に作成する方法はありますか?

アップデート

ルイジ・メンドーサは正しかった。コンストラクターには、オブジェクトの作成に影響を与える 2 つのポイントがありました。1 つ目は、私が遅延読み込み呼び出しだったということですが、最悪の事態は、コンストラクター内での JSON オブジェクトの逆シリアル化でした。ただし、そこに存在する必要はありません。

テストするために、Spring を使用せずに Bean を作成することを確認しました。明らかに高速ですが、Spring よりもわずか数秒高速です。

0 投票する
2 に答える
69 参照

javascript - javascript で Object.create(someprototype) を使用して作成されたオブジェクトのコンストラクター

Object.create(someObj.prototype) を使用して作成されたオブジェクトには、someObj としてコンストラクターがあります。

0 投票する
4 に答える
3956 参照

javascript - Object.create がコンストラクタよりも遅いのはなぜですか?

バックグラウンド

私が管理しているプロジェクトでは、多くの古い ES6 より前のブラウザーではネイティブにサポートされていないマップ (文字列キーのみ) の代わりとして、null プロトタイプ オブジェクトを広範囲に使用しています。

基本的に、その場で null プロトタイプ オブジェクトを作成するには、次を使用します。

これにより、新しいオブジェクトには、この特定のユースケースには望ましくない「toString」、「constructor」、「__proto__」などの継承されたプロパティがないことが保証されます。

このパターンはコード内で複数回出現するため、プロトタイプが null プロトタイプを持ち、独自のプロパティを持たないオブジェクトを作成するコンストラクターを作成するというアイデアを思いつきました。

次に、独自または継承されたプロパティを持たないオブジェクトを作成するには、次を使用できます。

問題

パフォーマンスを改善するためにテストを書いたところObject.create、すべてのブラウザーで、アドホック プロトタイプを持つ追加のコンストラクターを使用する方法よりも、ネイティブ アプローチのパフォーマンスが予想外にはるかに遅いことがわかりました: http://jsperf.com/blank-object -作成

後者の方法は、前者の場合には発生しないユーザー定義のコンストラクターの呼び出しを伴うため、後者の方法は遅くなると予想していました。

このようなパフォーマンスの違いの原因は何でしょうか?

0 投票する
4 に答える
15058 参照

javascript - Object.create() と Object.assign() を使用してオブジェクトを作成することの違いは何ですか?

次のコードを検討してください:

各オブジェクトが異なる方法で作成されているため、obj1との間に違いはありますか?obj2

0 投票する
4 に答える
120 参照

java - Java オブジェクト作成の違い

Java の OOP の概念は初めてです。この二つの事件の違いは何ですか?

1.

2.

良い説明は大歓迎です。ありがとう

0 投票する
1 に答える
76 参照

javascript - プロトタイプ チェーンの実行方法が異なるのはなぜですか?

私は Javascript についてもっと学び、プロトタイプ チェーンを少し掘り下げようとしています。この問題に遭遇したとき、HTMLElement の小さな拡張機能を作成したいと考えていました。

私が理解している方法は、渡されたオブジェクトが新しいオブジェクトのコンテキストを作成するために使用され、新しく作成されたオブジェクトのプロトタイプチェーンの最初のリンクがメソッドObject.createに渡されたオブジェクトを指すことです。Object.createその場合、bar以下のメソッドで使用される拡張のメソッドは、この新しく作成されたオブジェクトにコンテキストとして HTMLElement が与えられるため、私には正しいアプローチのように見えました。

ただし、新しい子要素をにfoo追加することでメソッドが正しく機能しますが、そうではありません。div<span id="test"></span>bar

ブラウザーで開発者ツールを開き、appendChildそれらで呼び出された 2 つのオブジェクトのプロトタイプ チェーンをたどろうとすると、それらはほとんど同じように見えます。

この例でjsFiddleを作成しました。

誰かがなぜ機能しないのか説明してもらえますかbar? bar実際、より正しいアプローチですか?もしそうなら、正しく動作するようにどのように設定する必要がありますか?

助けてくれてありがとう!!!

0 投票する
2 に答える
919 参照

javascript - プロトタイプの変更を防ぐには?

このコードでは、プロトタイプが変更される可能性があります。

プロトタイプの変更を防ぐにはどうすればよいですか?

0 投票する
1 に答える
28 参照

javascript - Object.create() を使用する場合、オブジェクト キーを他のオブジェクト キーとどのように参照しますか

私は工夫された電卓モジュールを作ることによって Object.create を学ぼうとしています。試しbindてみました を削除しようとしましthisたが、結果はありません。

質問:

クラスの場合のように、要素の別のプロパティ内でオブジェクトのプロパティをどのように参照しますか。それとも、私の例はあまり良いパターンではありませんか? もしそうなら、イベントリスナーを提供するために電卓オブジェクトをどのように構築すればよいcreationですか?

電卓.js

HTML: