問題タブ [javascript-objects]
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.
javascript - Javascriptのパフォーマンスこれ。vsvarname。プロパティにアクセスするため
次のようなコードがある場合、パフォーマンスに違いはありますか?
クラスBase64内で、 this.encode()またはBase64.encode ()を使用してプロパティと関数にアクセスする必要があります
パフォーマンスに違いはありますか?
javascript - JavaScript/JSON: オブジェクトの不明なプロパティを取得する
次のような JSON オブジェクトがあるとします。
プロパティの名前 (ここ)stringLengthTooShort
は毎回変わりますがname
、JS で子プロパティを取得するにはどうすればよいでしょうか? 現時点では持ってmessage.name
いますが、どうすればその子を手に入れることができますか?
javascript - JavaScript: vars を使用したカスタム プロパティ
私はそのようなJavaScript関数を持っています:
この関数は JS オブジェクトを返します。関数パラメーターinput
は文字列 (例: name
) であり、パラメーター変数の値は、それ自体ではなく、オブジェクト内のプロパティ名として使用する必要がありますinput
。例:
どうすればそれができますか?
javascript - この JavaScript オブジェクト リテラルを作成するときに「this」を使用できないのはなぜですか?
html:
JavaScript:
jsfiddle: http://jsfiddle.net/CAzN8/
これを実行すると、Chromethis.div
は未定義であると言いました。ここで何が問題なのですか?
[更新] コードを次のように変更すると、次のことがわかりました。
できます。しかし、なぜ最初のケースがうまくいかないのでしょうか?
javascript - "... has no method 'replace'" の解析時の JSON エラー
私は完全なプログラミングと JavaScript の初心者であり、その事実が私の問題の原因であることを認めて、これを前置きさせてください。
json.stringify で保存したテキスト ファイルから大量のカスタム オブジェクトの配列を取り込もうとしています。ファイルの内容と json.parse(them) を取得すると、次のエラーが発生します。
このエラーの原因となるコードは次のとおりです。
私はこれについてすべて間違っていると思います。この種のことについてシリアライザーについて言及している人を見ましたが、それが必要かどうかを再確認したかったのです (そして、このコンテキストでそれらを使用する方法について何らかの方向性を得るかもしれません)。ただし、stringify の出力は問題ないようですが、JSON でハンプティ ダンプティを元に戻すことができない理由がわかりません。どんな助けでも大歓迎です。
編集: text.replace 行は、私のコードではなく、/vendor/commonjs-utils/lib/json-ext.js にあります。これはJSONの一部だと思いました。おそらく私は間違っていますか?JSON を介してオブジェクト配列を解析する別の方法はありますか?
javascript - JSオブジェクトを適切に拡張するにはどうすればよいですか?
次の名前のファイルに次のようなものがあるとしましょうmain.js
:
今、私は別のファイルでオブジェクトを展開するためにこの方法を試みていますextend.js
:
...しかし、問題は、このようにコーディングすればうまくいくということです。
私はこれが初心者の質問かもしれないと思います。これがオブジェクトを拡張する適切な方法であるかどうかさえわかりませんが、なぜこれが発生するのか疑問に思っています。
よろしくお願いします。
javascript - オブジェクト-オブジェクト内のオブジェクト-それらのオブジェクトの配列
私はjavascriptを初めて使用するので、そのことを前もって言っておきます。
私がよく使うWebサイトには、50ほどのアイテムがあり、そのアイテムの詳細がテーブルにあります。各テーブル行には、いくつかのtdセルが含まれています。一部の行には、USBドライブなど、類似したタイプのものがあります。各行をキャプチャして、好みに合わせてグループ化して並べ替えることができるようにします。
私はこのオブジェクトを持っています:
これは1行を表します。
私が理解しようとしているのは、htmlのブロックをキャプチャしてに< tr>stuff< /tr>
保存する方法this.ItemBlock
です。
その部分は非常に簡単です。
?
それはかなり簡単に思えます。私は何かが足りないのですか?
私が立ち往生しているこの部分:
それらは50個あるので、vnlItemOnPageの配列が必要ですか?
そして、どのようにアレイに追加し、アレイから削除しますか?それが複雑な場合、私はおそらく配列から削除しないでしょう。気にしないでください。
<tr> htmlをキャプチャしたら、次のようにテーブル要素に追加できます。
正しい?
私が間違った方向からこれに近づいていると思われる場合は、どんな提案も受け付けています。パフォーマンスは大きな問題ではありません-少なくとも今のところは。後で私は数百のアイテムのためにいくつかのページを統合しようとするかもしれません。
ご協力ありがとうございます!
[編集]
おそらく、質問の2番目の部分は非常に基本的なものであり、答えがわからないとは信じがたいです。
配列は次のようになります。var vnlAllItems = []
そして、それは次のとおりです。var row1 = new vnlItemOnPage; vnlAllItems.push(row1); var row2 = new vnlItemOnPage; row2.ItemBlock = element.getElementByClassName('className')[0];
質問を閉じたいのですが、配列の処理について何もせずにそれを行うのは嫌です。
javascript - オブジェクトが window.constructor のインスタンスであるかどうかを確認するクリーンな方法
タイトルはほとんどそれをすべて言います。オブジェクトが DOM:Window インターフェイスのインスタンスであるかどうかを確認する必要があります。iframe が存在する場合はwindow
、テストにも合格します。window.frames[xyz]
最も直感的な方法は、 を介した単純な instanceof check のようobject instanceof window.constructor
です。に等しいブラウザー(IE6 など)があるのは悲しい状況です。window.constructor
undefined
何を提案しますか?のようなハッキーで醜いtoString
依存的な方法は常にありますが/\[object.*window.*\]/i.test(object)
、可能であれば、単純でクリーンなソリューションを使用したいと思います。
javascript - インデックスの終わりに基づいて、異なる動作をするJavascriptオブジェクト:fooとfoo()
次を返す方法でオブジェクトを構築することは可能ですか?
更新:JavaScriptメソッドのオーバーロードは近いですが、私が探しているものではありません。
Update2:jsfiddle(以下に提供されるソリューションの)。