問題タブ [hasownproperty]

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 投票する
6 に答える
54009 参照

javascript - myObj.hasOwnProperty(prop)の代わりにObject.prototype.hasOwnProperty.call(myObj、prop)を使用するのはなぜですか?

私が正しく理解していれば、JavaScriptのすべてのオブジェクトはObjectプロトタイプから継承します。つまり、JavaScriptのすべてのオブジェクトは、プロトタイプチェーンを介してhasOwnProperty関数にアクセスできます。

RequireJSのソースコードを読んでいるときに、この関数に出くわしました。

hasOwnへの参照Object.prototype.hasOwnPropertyです。この関数を次のように書くことに実際的な違いはありますか?

そして、私たちはそれに取り組んでいるので、なぜこの関数を定義するのですか?(わずかな)パフォーマンス向上のためのプロパティアクセスのショートカットとローカルキャッシュの問題ですか、それともこのメソッドを持たないオブジェクトでhasOwnPropertyが使用される可能性があるケースを見逃していますか?

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

javascript - Javascript配列。高度

私は次のような私のphpスクリプトからのJSON文字列を持っています:

AXXXXXXXX要素の数とそれに含まれる要素の数がわかりません。A要素を取得するには、以下のコードを使用します。

これで、A要素の長さがわかりました

ここで、Aの要素の最大長を知る必要があります。

チャートのこの出力配列を取得するにはどうすればよいですか?

ありがとう!

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

javascript - 単純な`continue`ステートメントは、for..inループの本体全体を` if`にネストする代わりに受け入れられますか?

通常、for..in悪名高い警告の解決策は、次のようなものです。

私はそれがただするほうがきれいだと思います:

問題は...それらは機能的に同一ではありませんか?

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

javascript - IE9: hasOwnProperty トリックが機能しない?

IE のネイティブ DOM 要素には hasOwnProperty() メソッドが含まれていないことは十分に文書化されています。これにはいくつかの解決策があります。最も洗練されたものは、次のように、Object.prototype で hasOwnProperty() メソッドに直接アクセスすることです。

これはIE9では機能しなくなったようです。誰か説明できますか?これを説明するフィドルを次に示します。

互換モードをオフにして標準モードで IE9 を使用すると、アラートが表示されます。

ただし、互換モードまたは互換モードをオンにした後 (または開発者ツールを使用して IE8 および IE7 エンジンを使用してページをレンダリングした後) に、アラートが表示されます。

ここで何か他のことが機能していますか、それとも hasOwnProperty のこの回避策は使用できなくなりましたか?

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

javascript - オブジェクト自身のプロパティのみを反復処理するjQueryの方法はありますか?

私は小さなjQueryのようなライブラリを作成していますが、奇妙なことに、の動作が1つあり$.eachます。

javascriptにはfor...inループがあります:

これに伴う問題は、継承されたプロパティ、つまりオブジェクトコンストラクタのプロトタイプからのプロパティも繰り返されることです。

hasOwnPropertyたとえば、これを使用してこれを知ることができます。そして、jQueryはそれを行うことができます。

ただし、オブジェクトをに渡すと、オブジェクトはとまったく同じよう$.eachに動作し、継承されたプロパティも繰り返し処理されます。また、わずかに遅くなるはずであり、入力するにはさらに数文字が必要です。for...in

このフィドルをチェックして実際の動作を確認し、ここでのソースコードを探してください$.each

だから私の質問は、独自のプロパティのみを含むjQueryのオブジェクト反復メソッドはありますか?そうでない場合、ライブラリはこのように動作する必要がありますか?

編集: jQueryはこれを行わないので、これが役立つかどうかも答えることができます。つまり、プロトタイプのプロパティを繰り返し処理したいと思っていることはわかりませんが、何かが足りないのかもしれません。

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

javascript - オブジェクトを「クリア」することは、hasOwnProperty の使用を回避する実行可能な方法ですか?

Object.prototype が変更されている可能性があるため、オブジェクトを完全に制御できる場合でも hasOwnProperty が必要な理由を理解しています。しかし、本当にそれを避けたい場合は、次のことを考慮してください。

つまり、使用する前にプロパティのインスタンスをクリアしています。これはうまくいくはずですか、それともいくつかのエッジケースがありませんか?

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

internet-explorer-9 - YUI 属性のデフォルト値を使用すると、Javascript Object.prototype.hasOwnProperty が IE9+ に対して誤った値を返す

hasOwnProperty javascript メソッドで IE9+ および/または YUI 3 のバグを発見したと思います。ここにいる誰かが以前にこの問題を見たことがあるかどうか、または問題をさらに特定できるかどうか疑問に思っています。この問題について関係者に知らせたいのですが、IE チームと YUI のどちらに連絡する必要があるかわかりません。

詳細:

IE9/IE10の場合:

  • 標準モードでのレンダリング
  • 初期化された YUI 属性が含まれます (サンプル コードの 11 行目)。

hasOwnProperty は、有効な JavaScript 識別子ではないキーを含むオブジェクトに対して誤った値を返します (ab の b は問題ありませんが、a.5 の 5 は無効です)。有効な識別子にはこの問題はありません。

コード例:

http://jsfiddle.net/bobbyakadizzy/nLZJy/6/ (この問題は IE9/IE10 でのみ発生することに注意してください)

実行new Y.IE9HasOwnPropertyTest(); GLOBAL_attributeWithNumericProperty.hasOwnProperty('1234');すると、true を返すべきときに false が返されます。

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

jquery - jQuery Ajax に応答があるかどうかを確認する

jQuery Ajax 関数を使用して、WordPress テーマにいくつかのデモ データをインストールします。以下のこのスクリプトは、私が取り組んだ以前のテーマで機能しましたが、何らかの理由でエラーが発生しています

Uncaught TypeError: Cannot call method 'hasOwnProperty' of null

これが私が使用しているスクリプトです

どんな助けでも大歓迎です。