23日目(JavaScript1)
本日からJavaScript開始。
JavaScriptとは?
webブラウザ上で動作するプログラムを作成するために作られた言語
近年ではサーバー上で動かすことも
JavaScriptでできること
JavaScriptの記述場所
- 外部ファイル
- scriptタグ
- タグの属性として(イベントハンドラなど)
JavaScript無効な人にはnoscript
JavaScriptの基本的な記述
変数の型を明示しない
var 変数名;
※近年ではletが増えてきているがとりあえずvarですすめる
constは定数
コンソールへの出力:console.log();
chromeの場合デベロッパーツールのconsoleタブで表示
デバッガもある
演算子
基本はJavaと共通
※割り算の場合のみ、余りが出る場合は実数が表示される(型の区別をしないため)
配列
var items = この中には文字列、数値等型の種類関係なしに格納可能
要素数は可変長
連想配列
JavaでいうMapみたいな
※.lengthで要素数を取得できない(0が表示される)
★Javaとの配列の違い
- 配列の作り方で[]を使う
- 後から要素数を追加できる(可変長)
- 文字列だけじゃなく数値とか混ぜれる
- 部屋は番号だけじゃなく名前でも管理できる
分岐:if
Javaとほぼ同じ
ただ
===(厳密に等しい)
!==(厳密に等しくない)
が追加
分岐:switch
Javaと同じ
JavaScriptは書き方のルールがゆるいぶん、間違いをあまり教えてくれない
;抜け等は自身で注意をする
繰り返し処理:for
for(var i = 0; i < item.length; i++){処理}
連想配列のループ
for(var key in items){処理}
繰り返し処理:while,do while
Javaと同じ書式
確認ウィンドウ:confirm
OK:true、キャンセル:false これを利用してif文が書ける
関数の利用
Javaでいうメソッドに近い
function getName(id){
処理内容
}
無名関数
var 変数 = function(引数名,引数名, …){
// 何らかの処理
return 戻り値;
}
※jQueryとかで使うらしい
JavaとJavaScriptの考え方の違い
Java
クラス(設計図)があって、クラスをもとにインスタンス(オブジェクト)を生成し、そのインスタンスに対して処理を指示する
-フィールド(変数)
-メソッド(機能)
JavaScript
クラス(設計図)はなく、いきなり実体から作り始める
-プロパティ(変数)
-メソッド(操作)
最近はaltJSとかもある
Windowオブジェクト
基本的にすべての変数やメソッドの頭にwindowオブジェクトがついてる
(省略されてる)
ウィンドウ操作
新しいウィンドウで開く
window.open();
※chromeでは新しいタブで開く。第3引数のオプション("menubar=yes")までつけると新しいウィンドウで開く
タイマー処理
setTimeout();
clearTimeout();
setInterval();
clearInterval();
※setTimeout()、setInterval()には戻り値(タイマーID)があり、それを変数で受け取ってclearTimeout()、clearInterval()に使う
今日はここまで。
基本的な変数宣言、分岐、反復をさらっと。
Javaとの比較でJavaScriptはこう書く、っていうことを学び、ちょっとだけブラウザ上の画面を動かすまで進んだ。
Javaと今のところは区別できるけど、そのうち混ざってこないか心配だなぁ…
とにかく黒本は黙々と2周目をこなす。
ただ回転がまだまだ遅いので、もうちょい頑張ろう俺