問題タブ [dontenum]
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 - DontEnumを使用したカスタムプロパティの設定
私が作成した場合:
上記のコードには、プロトタイプによって継承されたものiも含まれています。countここで、カスタムプロパティをフラグDontEnumとして設定する方法(カスタムプロパティには設定できない)があるかどうかを知りたいので、列挙されません。
私はif(m.hasOwnProperty(i))そのプロパティだけをチェックするためにできることを知っていますが、ある種の配列のAPIを書く場合、それを覚えておくようにプログラマーに言うべきです...そしてこれは受け入れられません!
internet-explorer - Javascript、IE でリテラル オブジェクトのすべてのプロパティを取得する方法
私はこのようなリテラルオブジェクトを持っています
for-inループでオブジェクトをウォークスルーする
問題は、toString プロパティが IE ブラウザのループでキャッチされないことです!
javascript - SafariでDOMハンドラを列挙可能にする方法は?
以前に変更した DOM 要素のすべてのプロパティを列挙する必要があります。Firefox、Chrome、Opera ではできましたが、Safari ではできませんでした (現時点では IE は気にしません)。
*: プロパティは Opera では列挙できませんが、とにかく列挙されます!!!
プロパティを割り当てる前に削除することで、Chrome で3 番目のalert出力を作成できます。trueonclick
しかし、プロパティはまだ Safari で列挙されていません。
私は EcmaScript 5 Object メソッドdefinePropertyで試してみました:
しかし、それはエラーを返します:
TypeError: defineProperty は DOM オブジェクトではサポートされていません
助言がありますか?
PS Safari と Chrome はどちらも Webkit に基づいているのに、なぜ動作が異なるのですか?