問題タブ [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.

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

javascript - DontEnumを使用したカスタムプロパティの設定

私が作成した場合:

上記のコードには、プロトタイプによって継承されたものiも含まれています。countここで、カスタムプロパティをフラグDontEnumとして設定する方法(カスタムプロパティには設定できない)があるかどうかを知りたいので、列挙されません。

私はif(m.hasOwnProperty(i))そのプロパティだけをチェックするためにできることを知っていますが、ある種の配列のAPIを書く場合、それを覚えておくようにプログラマーに言うべきです...そしてこれは受け入れられません!

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

internet-explorer - Javascript、IE でリテラル オブジェクトのすべてのプロパティを取得する方法

私はこのようなリテラルオブジェクトを持っています

for-inループでオブジェクトをウォークスルーする

問題は、toString プロパティが IE ブラウザのループでキャッチされないことです!

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

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 に基づいているのに、なぜ動作が異なるのですか?