JavaScript本格入門を読む・1
積ん読になっていたJavaScript本格入門を読むぞ。
JavaScript本格入門 ?モダンスタイルによる基礎からAjax・jQueryまで
- 作者: 山田祥寛
- 出版社/メーカー: 技術評論社
- 発売日: 2010/11/27
- メディア: 大型本
- 購入: 29人 クリック: 673回
- この商品を含むブログ (47件) を見る
前から人に勧められていたので買ってはいたが、全然読んでませんでした。
が、しかしモチベーションがびっくりするほどないのでせめてブログを書くぜ。
開発環境(というほど大それたものではない)
会社ではWindowsなのでTerapadを使っていたが、自宅はMacしかないので適当にググっって以下のエディタを導入。
CotEditor -Text Editor for OS X
実行結果はgoogleChromeのJavaScriptコンソールで確認することにした。
これでバッチリだろ(投げやり)
2−1.JavaScriptの基本的な記法
<html> <head> <meta http-equiv="Content-Type" content="text/html"; charaset="utf-8" /> <title>hello</title> </head> <body> <pre> <script type="text/javascript"> <!-- document.writeln("Hello,World"); //--> </script> <noscript>JavaScriptが利用できないです</noscript> </pre> </body> <html> |
基本中の基本から。
<a href="JavaScript:window.alert('hello');">ダイアログを表示</a> |
2−2.変数
msg = 'こんにちわ、JavaScript! '; |
このへんはまぁ余裕だな。
2−3.データ型
var ary = ['one',['two','second'],'three']; document.writeln(ary[0]); document.writeln(ary[1][1]); |
var obj = {x:1,y:2,z:3}; document.writeln(obj.x); document.writeln(obj['x']); |
オブジェクトリテラル、上と下の違い(ドット演算子とブラケット構文)がわからないのだが、ソースが見やすくなるということなのかしら。
2−4.演算子
var x = 1; var y = x; x = 2; document.writeln(y); var ary1 = [0,1,2] var ary2 = ary1; ary1[0] = 5; document.writeln(ary2); |
これ理解するまでちょっと時間かかってしまった。
サンプルコードなのに何の為にこれやってんのかわからん、と思ってしまったぜ・・・
そう、JavaScriptを理解するためでした。
var ary =['red','yellow','blue']; document.writeln(delete ary[0]); document.writeln(ary); var obj = {x:1,y:2}; document.writeln(delete obj.x); document.writeln(obj.x); var obj2 = {x:obj,y:2}; document.writeln(delete obj2.x); document.writeln(obj); |
これ最後のやつ[object Object]を返すんだけど、これってどういうことなのー
objectエラーってことなのかな。1つめと2つめで微妙に大文字と小文字なのも何故・・
document.writeln(typeof obj); |
次のtypeof演算子でわかるかなと思って書いてみたけど、objectって帰ってきてそりゃそうだな、と。
と、少々モヤりつつ演算子終了。
2−5.制御命令
var x =30; if(x >= 10){ if(x >=20){ document.writeln('変数xは20以上です。'); } } else { document.writeln('変数xは10未満です'); } |
これ、本の説明(分岐図)があるからわかった!これだけ見てどういうことかわかるのは難しそう・・・
var rank ='B'; switch(rank){ case'A': document.writeln('Aランクです'); break; case'B': document.writeln('Bランクです'); break; case'C': document.writeln('Cランクです'); break; default : document.writeln('ランク外です'); } |
breakは現在のブロックから処理を脱出するための制御命令(メモ)
swich文が出てくると、かっこいい感じするなぁ。
var x = 8; while(x < 10){ document.writeln('xの値は' +x); x++; } var x =8; do{ document.writeln('xの値は' +x); x++; } while(x<10); |
x++ってどうして記述するのかわからないが、これがないと無限ループしてしまうので注意する。
for(var x= 8; x<10; x++){ document.writeln('xの値は' +x); } |
for構文ですっきり。
中途半端だけど今日はここまでにしよう。明日はfor…inループからです。
fukken先生がコメントで教えてくれたので、ありがたく学びます!
おっすおっす。
本だと「最低限の記法をきちんとおさえておいてください」とだけだったので区別がよくわからなった。なるほどー
console.debug、ちぃ覚えた。ってことはchromeのエラーなのか!
最後のconsole.logもわからなかったのでググったら、ログを吐いてくれるのか。これは代入とか参照したときに元のやつがわかって良さそう(ちょうど今日はArrayオブジェクトをやったので…)
すごくわかりやすい!!
教えてもらわないとx++がわからないまま進むところだった。
と思ったら、インクリメント演算子とデクリメント演算子、解説あったー
読み飛ばしていたようだ。
そういうことか!無限ループにしてみましょう、とあったけど「ほほう・・」と思って終わってしまったぜ。
丁寧な解説、本当にありがとう!!