(function(xxxx){
yyyy.zzzz = {
aaaa:[]
,bbbb:[]
,cccc:'dddd'
,eeee:false
,ffff:true
};
})(this);
このような書き方とか
var xxxx = aaaa.bbbb.cccc([
'dddd//eeee//ffff//gggg'
]);
このような[]大括弧で挟んでいるような記述とか
よく見かけたりするのですが、パッと見て何をしているのかわかりません。このような記述の読み方とか書き方などが載っている教本やチュートリアルってあるのでしょうか、どこで調べたら良いのでしょう
無名関数だとか関数の戻り値が変数に代入できる、ということはなんとなくわかっているレベルです
まず例文を分解してみます。(上の例)
(function(xxxx){//----------【1ここから】 yyyy.zzzz = {//---【2ここから】 aaaa:[] ,bbbb:[] ,cccc:'dddd' ,eeee:false ,ffff:true };//---【2ここまで】 })();//----------【1ここまで】
※thisはややこしいのではずしました。
外のつくりから中へ見ていきます。
一番外【1】
(function(xxxx){
})();
function(xxxx){}を()でくくり();で実行します。(ややこしいですね)
これは無名関数を定義して、同時に実行しているということです。
たとえば、aaaという関数を定義して同時に実行させるには
(function aaa(){/*関数の内容*/})();
でOKです。
では、次【2】
yyyy.zzzz = {
};
これはyyyyというオブジェクトのzzzzプロパティを設定しています。
{}の中身を,(カンマ)で区切ってその数だけ分プロパティとして設定できます。
たとえば、オブジェクトObjに3つのプロパティを設定します。
Obj={moji1,moji2,moji3};
さらにプロパティに意味を持たせるような書き方
Obj={moji1:"おはよう",moji2:"こんにちは",moji3:"こんばんは"};
実際にどう使うか?
alert(Obj.moji1);//「おはよう」が表示される
おおまかにいえば【1】と【2】の構成です。
【2】の中でプロパティをいろいろ設定して無名関数を実行させてるだけです。
そのなかで配列[]やオブジェクト{}で書いている。
オブジェクトの書き方というのはJavaScriptの一機能にすぎないので書籍はわかりませんが
http://f32.aaa.livedoor.jp/~azusa/index.php?p=array&t=js
こういったサイトをみているとつかめてくると思います。
次に
http://www.tokumaru.org/JavaScript/
こういったサイトなど。
こういったサイトをとっかかりとしてわからない「書き方」があれば検索する、ということを少し繰り返せばわかってくると思います。
いかがでしょう。
[~]は配列を、{~}はオブジェクトを簡易的に作るものです。
例えば、Array("a", "b", "c")のように、[1, 2, 3]で配列を作ったり、
{ name : "misha", age : 17 }で、nameプロパティとageプロパティを持つ
オブジェクトを作ることができます。
[~]は配列を作ってるんですね。なるほどー。
ありがとうございました。
まず例文を分解してみます。(上の例)
(function(xxxx){//----------【1ここから】 yyyy.zzzz = {//---【2ここから】 aaaa:[] ,bbbb:[] ,cccc:'dddd' ,eeee:false ,ffff:true };//---【2ここまで】 })();//----------【1ここまで】
※thisはややこしいのではずしました。
外のつくりから中へ見ていきます。
一番外【1】
(function(xxxx){
})();
function(xxxx){}を()でくくり();で実行します。(ややこしいですね)
これは無名関数を定義して、同時に実行しているということです。
たとえば、aaaという関数を定義して同時に実行させるには
(function aaa(){/*関数の内容*/})();
でOKです。
では、次【2】
yyyy.zzzz = {
};
これはyyyyというオブジェクトのzzzzプロパティを設定しています。
{}の中身を,(カンマ)で区切ってその数だけ分プロパティとして設定できます。
たとえば、オブジェクトObjに3つのプロパティを設定します。
Obj={moji1,moji2,moji3};
さらにプロパティに意味を持たせるような書き方
Obj={moji1:"おはよう",moji2:"こんにちは",moji3:"こんばんは"};
実際にどう使うか?
alert(Obj.moji1);//「おはよう」が表示される
おおまかにいえば【1】と【2】の構成です。
【2】の中でプロパティをいろいろ設定して無名関数を実行させてるだけです。
そのなかで配列[]やオブジェクト{}で書いている。
オブジェクトの書き方というのはJavaScriptの一機能にすぎないので書籍はわかりませんが
http://f32.aaa.livedoor.jp/~azusa/index.php?p=array&t=js
こういったサイトをみているとつかめてくると思います。
次に
http://www.tokumaru.org/JavaScript/
こういったサイトなど。
こういったサイトをとっかかりとしてわからない「書き方」があれば検索する、ということを少し繰り返せばわかってくると思います。
いかがでしょう。
細かく書いていただいて大変わかりやすいです。
ありがとうございました。
すみません、見直したらミスがありましたので訂正します。
下記の書式は間違っています。
Obj={moji1,moji2,moji3};//間違った書き方
{}で囲むときは{キー:値}とかかなければいけません。
単純,カンマ区切りなら[]での配列にすべきです。
失礼しました><;
細かく書いていただいて大変わかりやすいです。
ありがとうございました。