■ script/noscriptタグ
<html>
<body>
  <!--</body>の直前に記載-->
<script>
<!--
  /* JavaScriptのコード */
//-->
</script>
<noscript>
  <!--JavaScript非対応ブラウザのコード-->
</noscript>
</body>
</html>
■ イベントハンドラ
<input type="button" value="日付登録" onclick="window.prompt('今日の日付を入力して下さい','2018/1/1')">
■ 外部スクリプト読み込み
<script src="test.js"></script>
■ 文字列操作
出力
document.write("hello");
連結
document.write("he" + "llo" + "<br>");
document.write("he", "llo", "<br>")
■ ダイアログ表示
警告表示
window.alert("Hello");
確認表示
if(window.confirm()){
  document.write("OKが押されました");
}
else{
  document.write("キャンセルが押されました");
}
入力表示
window.prompt('今日の日付を入力して下さい','2018/1/1');
■ コンソール出力
console.log("Hello");
■ 変数
型
| 型 | 名称 | 
|---|---|
| number | 数値型 | 
| boolean | 論理型 | 
| string | 文字列型 | 
| object | オブジェクト型 | 
| null | NULL型 | 
エスケープシーケンス
| エスケープシーケンス | 意味 | 
|---|---|
| \n | 改行 | 
| \t | タブ | 
キャスト
| 書式 | 意味 | 
|---|---|
| parseInt("10") | 文字列 ⇒ 整数 | 
| String(10) | 数値 ⇒ 文字列 | 
■ 演算子
算術演算子
| 演算子 | 意味 | 
|---|---|
| + | 加算 | 
| - | 減算 | 
| * | 乗算 | 
| / | 除算 | 
| % | 剰余 | 
複合演算子
| 演算子 | 意味 | 
|---|---|
| += | 加算して代入 | 
| -= | 減算して代入 | 
| *= | 乗算して代入 | 
| /= | 除算して代入 | 
| %= | 剰余を代入 | 
比較演算子
| 演算子 | 意味 | 
|---|---|
| A == B | AとBは等しい | 
| A != B | AとBは等しくない | 
| A > 0 | Aは0より大きい | 
| A < 0 | Aは0より小さい | 
| A <= 0 | Aは0以下 | 
| A >= 0 | Aは0以上 | 
論理演算子
| 演算子 | 意味 | 
|---|---|
| && | 論理積 | 
| || | 論理和 | 
| ! | 否定 | 
ビット演算子
| 演算子 | 意味 | 
|---|---|
| & | AND | 
| | | OR | 
| ^ | XOR | 
| ~ | 反転 | 
| >> | 右シフト | 
| << | 左シフト | 
三項演算子
const cnt = 0;
document.write((cnt == 0) ? "値は0です":"値は0以外です");
■ 繰り返し
for
const array_test = new Array("A", "B", "C");
for(let cnt = 0; cnt < 3; cnt++){
  document.write(array_test[cnt]);
}
while
let cnt = 0;
while(cnt < 10){
  document.write(cnt, "<br>");
  cnt++;
}
do while
let cnt = 0;
do{
  document.write(cnt, "<br>");
  cnt++;
}while(cnt < 10);
■ 条件分岐
if
var answer = window.prompt("答えは?", "");
if (answer == 0){
  document.write("答えは0です");
}
else if (answer == 1){
  document.write("答えは1です");
}
else{
  document.write("答えは0,1以外です");
}
switch
var answer = window.prompt("答えは?", "");
switch(answer){
case 0:
  document.write("答えは0です");
  break;
case 1:
  document.write("答えは1です");
  break;
default:
  document.write("答えは0, 1以外です");
  break;
}
■ 関数
関数定義
function test(input0, input1, input2)
{
  document.write(input0 + input1 + "<br>");  // test実行
  input2[0] = 100;
  return "OK";
}
const output = [0, 1];
document.write(test("test", "実行", output), "<br>");  // OK
document.write(output[0]);  // 100
無名関数
var msg = function(input){
  document.write(input);
  return "!";
};
document.write(msg("Hello"), "<br>");
即時関数
(function test(input){
  document.write(input);
})("Hello");
■ Arrayオブジェクト
配列
const array_test1 = new Array("A", "B", "C");
document.write(array_test1[0], "<br>");
const array_test2 = ["A", "B", "C"];
document.write(array_test2[1], "<br>");
document.write(array_test1.length);  // 3
配列操作
let array = ["a", "b", "c"];   // a ⇒ b ⇒ c
array.push("d");           // a ⇒ b ⇒ c ⇒ d 
array.unshift("z");        // z ⇒ a ⇒ b ⇒ c ⇒ d
let out = array.pop();     // d
out = array.shift();       // z
out = array.slice(1, 3);   // b,c
二次元配列
let array_test = new Array();
array_test = [
[10, 100],
[20, 200]
];
document.write(array_test[1][1]);  // 200
連想配列
const array_test = {
  a:"A",
  b:"B",
  c:"C",
  alert: function(input){
      window.alert(input);   // Hello
      window.alert(this.a);  // β
    }
};
document.write(array_test['a']); // A
document.write(array_test.b);    // B
array_test['a'] = "α";
array_test.b = "β";
delete array_test['c'];
array_test.alert("Hello");
■ Mathオブジェクト
document.write(Math.abs(-1), "<br>");     // 1 : 絶対値
document.write(Math.ceil(5/2), "<br>");   // 3 : 切り上げ
document.write(Math.floor(5/2), "<br>");  // 2 : 切り下げ
document.write(Math.pow(5,2), "<br>");    // 25 : べき乗
document.write(Math.random(), "<br>");    // 0.3402336179217773
document.write(Math.round(5/2), "<br>");  // 3  : 四捨五入
■ Dateオブジェクト
const curDate = new Date();
document.write(curDate.getFullYear(), "<br>");     // 2018 : 年
document.write(curDate.getMonth(), "<br>");        // 0    : 月
document.write(curDate.getDate(), "<br>");         // 13   : 日 
document.write(curDate.getDay(), "<br>");          // 6    : 曜日
document.write(curDate.getHours(), "<br>");        // 0    : 時間
document.write(curDate.getMinutes(), "<br>");      // 0    : 分
document.write(curDate.getSeconds(), "<br>");      // 0    : 秒
document.write(curDate.getMilliseconds(), "<br>"); // 0    : ミリ秒
document.write(curDate.getTime(), "<br>");         // 1518447600000  : 1970/1/1 午前00:00:00以降のミリ秒
■ Stringオブジェクト
const str = new String("Hello");
document.write(str.length, "<br>");         // 5
document.write(str.substr(2,3), "<br>");    // llo
document.write(str.indexOf("o"), "<br>");   // 4
document.write(str.replace("h", "H"));      // Hello
■ タイマ設定・解除
let count = 0;
function alertset(){
    window.alert(count++);
    if(count == 10){
      clearInterval(timer);
    }
}
timer = setInterval(function(){
  alertset();
}, 5000);
■ コメント
// comment
/* comment */
/*
comment
*/