1. js は hasOwnProperty が不正に占有されることから保護しません。オブジェクトにこのプロパティがある場合は、正しい結果を得るために外部の hasOwnProperty 関数を使用する必要があります。 2. オブジェクトにプロパティが存在するかどうかを確認する場合、使用できるメソッドは hasOwnProperty のみです。 例var foo = { 独自のプロパティを持つ: 関数() { false を返します。 }, バー: 「ここにドラゴンがいる」 }; foo.hasOwnProperty('bar'); // 常に false を返します // 他のオブジェクトの hasOwnProperty を使用し、そのコンテキストを foo に設定します ({}).hasOwnProperty.call(foo, 'bar'); // 真 知識ポイントの拡張: 属性が存在するかどうかを判断するvar o = 新しいオブジェクト(); o.prop = '存在する'; 関数changeO() { o.newprop = o.prop; o.prop を削除します。 } o.hasOwnProperty('prop'); // 真 変更O(); o.hasOwnProperty('prop'); // 偽 自身の属性と継承された属性を決定する関数foo(){ this.name = 'foo' this.sayHi = 関数 () { console.log('こんにちは') } } foo.prototype.sayGoodBy = 関数 () { console.log('さよならを言う') } myPro = new foo() とする console.log(myPro.name) // foo console.log(myPro.hasOwnProperty('name')) // true console.log(myPro.hasOwnProperty('toString')) // false console.log(myPro.hasOwnProperty('hasOwnProperty')) // 失敗 console.log(myPro.hasOwnProperty('sayHi')) // true console.log(myPro.hasOwnProperty('sayGoodBy')) // false console.log('sayGoodBy' in myPro) // true オブジェクトのすべてのプロパティを反復処理するオープンソース プロジェクトを見ると、次のようなソース コードをよく見かけます。 for...in ループはオブジェクトのすべてのプロパティを列挙し、hasOwnProperty() メソッドを使用して継承されたプロパティを無視します。 var buz = { 霧: 'スタック' }; for (変数名 in buz) { if (buz.hasOwnProperty(名前)) { alert("これは間違いなくfog(" + name + ")です。値: " + buz[name]); } それ以外 { alert(name); // toString または他の何か } } プロパティ名としてhasOwnPropertyに注意してくださいJavaScript は hasOwnProperty プロパティ名を保護しないので、このプロパティ名を含むオブジェクトが存在する可能性がある場合は、正しい結果を得るために拡張された hasOwnProperty メソッドを使用する必要があります。 var foo = { 独自のプロパティを持つ: 関数() { false を返します。 }, バー: 「ここにドラゴンがいる」 }; foo.hasOwnProperty('bar'); // 常に false を返します // これが気になる場合は、プロトタイプチェーンで実際のhasOwnPropertyメソッドを直接使用できます // 別のオブジェクトの`hasOwnProperty`を使用して呼び出します ({}).hasOwnProperty.call(foo, 'bar'); // 真 // オブジェクトプロトタイプの hasOwnProperty プロパティを使用することもできます。Object.prototype.hasOwnProperty.call(foo, 'bar'); // true js の hasOwnProperty のプロパティと使用例に関するこの記事はこれで終わりです。js の hasOwnProperty のプロパティの使用に関する詳細なコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: CSS3 のボックス サイズ設定 (コンテンツ ボックスとボーダー ボックス) の詳細な説明
>>: img 画像タグに alt 属性を付与する必要がありますか?
目次1. 関連するbinlog設定2. binlogに関する詳細設定2.1 バイナリログモードの変更...
昨日、パソコンにPHP開発環境をセットアップした後、Apacheサーバーを再起動するとエラーが続きま...
mysqlはブール型を返します最初のケースでは、直接戻ります select id='22a...
準備1. 環境の説明:オペレーティング システム: Windows Server 2019 PHP ...
<> 演算子機能: 等しくないことを示します。注: 「!=」演算子と同じ機能を持ちますが...
MySQL 5.7.27の詳細なダウンロード、インストール、および構成チュートリアルは参考までに、具...
この記事では、カルーセルアニメーションを実現するためのVueの具体的なコードを例として紹介します。具...
以前は、このような使用シナリオを処理するために rand() で直接 order していましたが、効...
取引特性1. アトミック性: トランザクションの開始後、すべての操作が完了するか、まったく実行されな...
各ブラウザの select タグのプロパティと各ブラウザのサポートが多少異なるため、各ブラウザでの選...
1. docker設定ファイルを変更し、ポート2375を開きます。 [root@s162 docke...
HTML5 では、入力用のネイティブ プレースホルダー属性が追加されており、これは高度なブラウザでサ...
仮想化ソフトウェアをインストールする仮想マシンにオペレーティング システムをインストールする前に、ホ...
HTML では、<、>、& などは特別な意味を持ち (<、> はリン...
この記事では、参考までに、Navicatを使用してCSVファイルをMySQLにインポートするための具...