誰かがこのコードを少し説明できますか?おかげさまで JavaScriptオブジェクトにアクセス
alert({foo:"test foo", bar:"test bar"}.bar); // "test bar"
誰かがこのコードを少し説明できますか?おかげさまで JavaScriptオブジェクトにアクセス
alert({foo:"test foo", bar:"test bar"}.bar); // "test bar"
{foo:"test foo", bar:"test bar"}
これは2つのプロパティfoo
とbar
を持つ新しいオブジェクトを作成します。あなたは、JavaやC#やC++またはそのような言語に慣れている場合、それはとても
class FooAndBarObject {
public string foo;
public string bar;
public FooAndBarObject(string foo, string bar) {
this.foo = foo;
this.bar = bar;
}
}
new FooAndBarObject("test foo", "test bar");
を言ってようなものだし、{foo:"test foo", bar:"test bar"}.bar
を書くこと"test bar"
であることを起こるおり、bar
プロパティの値を返します。
alert
は、渡された値を表示する関数なので、ユーザーにtest bar
と表示されます。
{}表記では、オブジェクトを定義しています。この場合、barプロパティを取得するだけです。どのOO言語のクラスにも似ています。次のコードに似ています。
var obj = {
foo : 'Test Foo',
bar : 'test bar'
};
alert(obj.bar); //Show the 'bar' property of obj.
宣言は明らかに自明であるため、表示された構文は合法です。しかし、それはあなたが今定義したオブジェクトで何もできないので、かなり役に立たない。
あなたはオブジェクトを持っています
2つのプロパティを持つ:foo、bar。
FOO値は「テストfooが」
バーの値が「テスト・バー」
ですが、私のバーの値を示しています。
{FOO: "試験FOO"、バー: "試験バー"}バー
{foo:"test foo", bar:"test bar"}
が2つのフィールドを持つ新しいオブジェクトを作成:foo
とbar
alert(obj.bar)
はbar
フィールドの値を出力しますこの新しく作成されたオブジェクトこの例では、パラメータとしてオブジェクトを使用してalert
という関数が呼び出されます。このパラメータは、foo
とbar
の2つのプロパティを持つオンザフライでオブジェクトを構築し、bar
プロパティにアクセスし、alert
関数が表示する文字列を返します。
{foo:"test foo", bar:"test bar"}
これはオブジェクトリテラルである:
あなたがコードの2ビットを有し、それは、その値として文字列をそれぞれ有する2つの特性foo
とbar
でオブジェクトを定義します。
.bar
これは、メンバー演算子である:それは、その名前bar
であるオブジェクトからメンバーを取得します。
私は
JSがオブジェクトを作成すると、すぐにプロパティバーを表示...コーディングのこのスタイルのためのユースケースを想像することはできません:) は役に立つかもしれ:http://json.org/
構文{foo:"test foo", bar:"test bar"}
その後、JavaScriptオブジェクト表記法(JSON)と呼ばれ、それははるかにterser構文で使用してjavascriptオブジェクトを構築することができますされています
var obj = function() { this.foo = "test foo"; this.bar = "test bar"; };
var instance = new obj();
したがって、上記の例では、あなたは、Javaを作成しています2つのフィールドを持つスクリプトオブジェクトを開き、すぐにbar
フィールドにアクセスします。
javascriptのオブジェクトリテラルは、何らかの連想配列です。
はペアです:
var a = {
key1: 'value1',
key2: 'value2',
"key #3": 'value3'
}
は値のあらゆる種類のデータを含めることができ、彼らは特殊文字、スペースや予約語が含まれている場合、 キーは文字列でなければなりません。 a
の値に
アクセスは、(OOPのように)ドットであることができます:キーが値にアクセスすることができます、上記の特殊文字が含まれている場合
はa.key1 == 'value1';
しかしとして連想配列のようなa
意味します。
a["key #3"] == 'value3'
しかし、
a["key1"] ;
もそう、オブジェクト自体を返すか、それぞれ割り当てるジャバスクリプト内のすべての宣言/割当正しい
ある:
var a;
(a={
key1: 'value1',
key2: 'value2',
"key #3": 'value3',
key4: function(){
//`this` refers to `a` variable - if function will be called directly from `a` => a.key4() ;
alert(this["key #3");}
}).key1 // gets 'value1'
又は
({ key1:'value1' })['key1'];// gets 'value1' too