52 | | if, for, while, switch といった処理の流れを記述するおなじみの構文や、 C言語風の演算子 (==, ++, -- など)、さらには関数呼び出し時には関数名の後ろに引数をかっこで括る書き方なども、まさに C や Java そっくりの書き方です。 |
| 52 | コメントの書き方も Java と同じです。 "/*" ~ "*/" で括るか、 "//" の後ろに書きます。 |
| 53 | |
| 54 | {{{ |
| 55 | /* |
| 56 | * 複数行 |
| 57 | * コメント |
| 58 | */ |
| 59 | |
| 60 | alert("コメントサンプル"); // 一行コメント |
| 61 | }}} |
| 62 | |
| 63 | その他、 if, for, while, switch といった処理の流れを記述するおなじみの構文や、 C言語風の演算子 (==, ++, -- など)、さらには関数呼び出し時には関数名の後ろに引数をかっこで括る書き方なども、まさに C や Java そっくりの書き方です。 |
| 85 | * 複雑なデータ構造を自由に書ける |
| 86 | |
| 87 | C や Java がデータ構造の構成を構造体やクラスとしてあらかじめ定義しなければならないのに対し、 !JavaScript のオブジェクトはいつでも好きなだけメンバを追加できます。 |
| 88 | |
| 89 | {{{ |
| 90 | // オブジェクトを作成 |
| 91 | var murachi = { |
| 92 | real_name = "村山 俊之", |
| 93 | real_name_kana = "ムラヤマ トシユキ", |
| 94 | birth = new Date(1978, 1, 7), |
| 95 | sex = "Female" |
| 96 | }; |
| 97 | |
| 98 | // 本名を表示 |
| 99 | alert("名前: " + murachi.real_name + " (読み: " + murachi.real_name_kana + ")"); |
| 100 | |
| 101 | // オブジェクトに後からメンバを追加できる |
| 102 | murachi.disp_name = "T.MURACHI"; |
| 103 | murachi.tall = 166; |
| 104 | murachi.weight = 70; |
| 105 | |
| 106 | alert(murachi.disp_name + "の身長は" + murachi.tall "cm、体重は" + murachi.weight + "kg"); |
| 107 | }}} |
| 108 | |
| 109 | もちろん、メンバにオブジェクトや配列を持たせることもできますし、配列にオブジェクトを持たせることもできます。 |
| 110 | |
| 111 | {{{ |
| 112 | var harapeko = { |
| 113 | name = "株式会社はらぺこ", |
| 114 | name_e = "Harapeko Inc.", |
| 115 | birth = new Date(2008, 4, 1), |
| 116 | // オブジェクトの入れ子 |
| 117 | address = { |
| 118 | post_no = 2750015, |
| 119 | county = "千葉県", |
| 120 | city = "習志野市", |
| 121 | town = "鷺沼台1-8-27", |
| 122 | building = "マウント・ヴィレッヂⅠ 101" |
| 123 | }, |
| 124 | // メンバに配列を追加 |
| 125 | address_history = [ |
| 126 | // オブジェクトの配列 |
| 127 | { |
| 128 | post_no = 2760017, |
| 129 | county = "千葉県", |
| 130 | city = "八千代市", |
| 131 | town = "八千代台北1-10-11", |
| 132 | building = "マメール八千代台 502" |
| 133 | }, |
| 134 | { |
| 135 | post_no = 2760017, |
| 136 | county = "千葉県", |
| 137 | city = "八千代市", |
| 138 | town = "八千代台北1-10-11", |
| 139 | building = "ファイン八千代台 502" |
| 140 | } |
| 141 | ] |
| 142 | }; |
| 143 | |
| 144 | document.write("<p>会社名: " + harapeko.name + "</p>"); |
| 145 | document.write("<p>創立: " + harapeko.birth.toLocaleString() + "</p>"); |
| 146 | document.write("<p>現住所: 〒" + harapeko.address.post_no + " " + |
| 147 | harapeko.address.county + harapeko.address.city + harapeko.address.town + " " + |
| 148 | harapeko.building + "</p>"); |
| 149 | |
| 150 | document.write("<p>過去の住所 (古い順に):</p><ul>"); |
| 151 | |
| 152 | for (var i = 0; i < harapeko.address_history.length; i++) { |
| 153 | var old_address = harapeko.address_history[i]; |
| 154 | document.write("<li>〒" + old_address.post_no + " " + |
| 155 | old_address.county + old_address.city + old_address.town + " " + |
| 156 | old_address.building + "</li>"); |
| 157 | } |
| 158 | |
| 159 | document.write("</ul>"); |
| 160 | }}} |