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 属性を付与する必要がありますか?
この記事では、参考のために、WeChatアプレットのチャットルームを実装するための具体的なコードを例...
目次1. 縦方向のスライス1.1 垂直データベース1.2 垂直テーブル分割2. 水平(横断)セグメン...
MySQL 結合クエリ1. 基本概念2 つのテーブルの各行をペアで水平に接続して、すべての行の結果を...
Dockerfileの作成expressによって自動的に作成されたディレクトリを例にとると、ディレク...
第1章 ソースコードのインストールRPM パッケージは特定のシステムとプラットフォームに応じて指定さ...
<本文> <div id="ルート"> <h1&...
目次序文:成し遂げる:要約:まず効果を見てみましょう: 序文:このアイデアは、Bilibili のア...
1. コマンドの紹介ifconfig (ネットワーク インターフェイスを構成する) コマンドは、ネッ...
この記事では、例を使用して、MySQL スライディング集計/年初来集計の原理と使用方法を説明します。...
1.移行遷移プロパティの使用法: transition :transition-property t...
Centos6.5にmysql5.7.19をインストールするための詳細な手順は次のとおりです。 1....
この記事では、一般的な MySQL ストレージ エンジンの機能と使用方法を例を使って説明します。ご参...
コードは次のようになります。 <!DOCTYPE html> <html lang...
プライベート変数のクロージャ実装プライベート変数は共有されないnew キーワードにより、 perso...
目次1 つの Redis 設定ファイル2 Dockerコマンドの開始3 docker-compose...