職業訓練覚え書き

23日目(JavaScript1)

本日からJavaScript開始。

JavaScriptとは?

webブラウザ上で動作するプログラムを作成するために作られた言語
近年ではサーバー上で動かすことも

 

JavaScriptでできること

  • イベント処理・タイマー処理
  • HTML/CSS操作 
  • フォーム制御
  • 演算制御
  • Ajax通信

JavaScriptの記述場所

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とかで使うらしい


JavaJavaScriptの考え方の違い

Java

クラス(設計図)があって、クラスをもとにインスタンス(オブジェクト)を生成し、そのインスタンスに対して処理を指示する
-フィールド(変数)
-メソッド(機能)

JavaScript

クラス(設計図)はなく、いきなり実体から作り始める
-プロパティ(変数)
-メソッド(操作)


最近はaltJSとかもある

 

Windowオブジェクト

基本的にすべての変数やメソッドの頭にwindowオブジェクトがついてる
(省略されてる)

 

ウィンドウ操作

新しいウィンドウで開く
window.open();
chromeでは新しいタブで開く。第3引数のオプション("menubar=yes")までつけると新しいウィンドウで開く

 

タイマー処理

setTimeout();

clearTimeout();

setInterval();

clearInterval();

※setTimeout()、setInterval()には戻り値(タイマーID)があり、それを変数で受け取ってclearTimeout()、clearInterval()に使う

 

 

今日はここまで。

基本的な変数宣言、分岐、反復をさらっと。

Javaとの比較でJavaScriptはこう書く、っていうことを学び、ちょっとだけブラウザ上の画面を動かすまで進んだ。

Javaと今のところは区別できるけど、そのうち混ざってこないか心配だなぁ…

とにかく黒本は黙々と2周目をこなす。

ただ回転がまだまだ遅いので、もうちょい頑張ろう俺