false.toString(); // 'false' [1、2、3] .toString(); // '1,2,3'function foo(){} foo.bar = 1; foo.bar; // 1しばしば誤解されていることの1つは、数値定数をオブジェクトと見なすことができないことですが、実際には数値定数はまだオブジェクトと見なすことができます。これは、JavaScriptパーサーがポイント演算子を解析し、それらを浮動小数点特徴として扱うときに間違いを犯すためです。
2.ToString(); // syntaxerrorを上げます
実際、数値定数をオブジェクトとして動作させる多くの方法があります。
2..toString(); // 2番目のポイントは正しく認識されます2.toString(); //ドット(2)に左に残されたスペースに注意してください。 // 2が最初に評価されます
データ型としてのオブジェクト
JavaScriptのオブジェクトはハッシュテーブルとして使用でき、主にキーと値の間の対応する関係が含まれています。
{}シンボルを使用して、シンプルなオブジェクトを作成します。この新しく作成されたオブジェクトは、object.prototypeから継承され、それ自体を定義するプロパティが含まれていません。
var foo = {}; //新しい空のオブジェクト//値12var bar = {test:12}を持つ「テスト」プロパティを持つ新しいオブジェクト。オブジェクトのプロパティにアクセスします
2つの方法を使用して、JavaScriptオブジェクト、つまりDOT演算子にアクセスできます。およびブラケットオペレーター[]。
var foo = {name: 'kitten'} foo.name; // kittenfoo ['name']; // kittenvar get = 'name'; foo [get]; // kittenfoo.1234; // syntaxerrorfoo ['1234']; //動作します2つの演算子の効果はほぼ同じです。唯一の違いは、ブラケット演算子がプロパティの動的設定を許可し、属性名に構文エラーを持つことができることです。 (上記の例の3番目のケースについて説明しました)
オブジェクトのプロパティを削除します
プロパティを削除する唯一の方法は、削除、プロパティ値を未定義に設定するか、プロパティに関連付けられた値を削除するだけで、プロパティ自体を実際に削除しないことです。
var obj = {bar:1、foo:2、baz:3}; obj.bar = undefined; obj.foo = null; delete obj.baz; for(bar i in obj){if(obj.hasownproperty(i)){console.log(i、 ' + obj [i]); }}上記の出力バーが定義されていない、Foo Null、BAZのみが実際に削除されます。
ここでは、削除は変数ではなく属性のみを削除できることを説明する必要があります。したがって、変数を定義するときは、VARを書くという良い習慣を開発する必要があります。いつでも、VARキーワードを使用して変数を宣言する必要があります。 VARを書いていない場合、変数はグローバルオブジェクトと間違え、新しいプロパティを作成するためです。
この例は、答えを非常に明確に示し、Aは変数であり、Bは単なるグローバルオブジェクトのプロパティです。
名前付きオブジェクトのプロパティ
var test = {'case': '私はキーワードです。したがって、文字列として記録する必要があります'、削除:「私もキーワードです。オブジェクトのプロパティは、通常の文字または文字列で命名できます。また、JavaScriptパーサーの設計が誤っているため、上記の例の2番目の表現方法は、ECMAScript 5にエラーを投げかけます。
エラーの理由は、削除がキーワードであるため、javascriptパーサーの古いバージョンに適応するために文字列定数に名前が付けられている必要があるためです。