2014/04/06

Javascript基礎文法マスター(随時更新)

Posted on 19:31 in

Javascriptとは

  • オブジェクト指向型(プロトタイプベース)の軽量なスクリプト言語

Javascriptの特徴

  • スタンドアローンの言語としては不便だが、ウェブブラウザなどの他製品やアプリケーション上での実装、動的なWebサイト構築等が得意。
  • Javascriptの仕様は、ECMAScriptというスクリプト言語で定められている。EMACScriptはコア言語とも呼ばれる。
    (ECMAScriptを各社で実装したのが、Mozilla社のJavascriptだったり、MicrosoftのJScript、AdobeのActionScriptだったりする。)
  • クライアントサイドJavascriptは、コア言語に加えて、ブラウザ&DOMコントロール用オブジェクト を拡張している。
  • サーバサイドJavascriptは、コア言語に加えて、サーバ上でのJavascript実行関連オブジェクトを拡張している。
  • Javascript ≠ Java。別物。オーストリアとオーストラリアくらい違う。

他言語との違い

  • クラス(似たオブジェクトを量産するための仕組み)が無い。
    • 通常クラスという「型」を元にして、クラスの特設(属性や機能)を引き継いだオブジェクト(「実体」)を作成する
  • クラスで行っていた、同等特性のオブジェクト量産は、
  • 関数自身もオブジェクト

実行の仕方


  1. HTML/XHTMLファイル内に以下記述で埋め込んで直接実行

    < script >
      スクリプト文
    < /script >

  2. 外部スクリプトファイル(「ファイル名.js」)として以下記述で呼び出して実行

    < script src = “ファイル名.js”>< /script>

書き方

  • 文末にセミコロン(;)をつける
  • 大文字、小文字は区別される(NUMとnumは別物。)
  • スクリプトファイル内の空白、改行は無視される。

出力

  • Javascriptの標準ライブラリには入出力関連の関数がほぼ無い。
  • 出力には以下を使用する。

    • ブラウザへの出力関数(alert)

      alert(“Hello,world!”);

    • コンソールへの出力関数(console.log)

      console.log(“Hello, world”);

コメント

  • コメント(単一行)は以下。

    //ここから1行はコメントです。

  • コメント(複数行)は以下。

    /* ここからは複数行でも閉じるまではコメントです。 */

エラー処理

  • 以下でエラー発生する可能性のある処理と、エラー発生時の対応を記述
    try{
      test(“test”) //エラー発生する可能性のある処理
    } catch(e){
      alert(“エラーは”+e+”です。”);

宣言

変数

  • 変数宣言はvarで行う。

    var 変数名

  • 変数宣言と初期化は同時実行可能

    var a=1;

  • 変数には型は無い。

  • 命名規則

    1. 1文字目は、英字、アンダースコア(_)、ドル記号($)
    2. 2文字目以降は1+数字
    3. 変数名の大文字、小文字は区別される
    4. Javascriptの予約語は使えない。

    ◯ _test
    ◯ $num
    ×  1num

定数

  • 定数宣言はconstで行う。
    const 定数名 =183;

データ型

型はalert(typeof(値))などで確認可能。
  • 数値
  • 文字列
  • 真偽値
  • オブジェクト
    • 関数、配列(Array)、日付(Date)、正規表現(RegExp)・・・
  • null //意図的に値が無い
  • undefined //値が未定義

数値

数値は10進数、8進数、16進数を扱う事が可能。
例として

  • 65535(10進数)
  • -123.56(10進数)
  • 0xffff(16進数)
  • 0x9ab4(16進数)
  • 011(8進数)
  • -3.1E12

文字列

  • “(ダブルクォーテーション)か、’(シングルクォーテーション)で囲む。

    ”このように文字列を記述”
    ‘シングルクオーテーションでもOK’

  • ダブルクオーテーション内の文字列として、ダブルクオーテーションを使いたい場合は、\”を使う。
    シングルの場合も同じ。(\’)

    “ここでダブルを使用する場合は\”と記述”
    ‘シングルの場合は\’と記述’

  • 文字列途中に変数を含む場合は以下のように記述

    alert(“このように” + x + “+で連結します”);

  • 文字列から数値への返還は以下

    parceInt(“123”); //整数値
    parcefloat(“1.5”); //少数値

演算子

  • 代入演算子
    • +=、-=、*=、/=、%=
    • <<=、>>=、>>>=
    • &=
    • ^=
    • |=
  • 比較演算子
    • ==、!=
    • ===、!==
    • >、>=、<、<=
  • 算術演算子
    • +、―、*、/
    • %(余り)
    • ++ (インクリメント)
    • — (デクリメント)
    • -a (符号反転)
  • ビット演算子
    • a & b、a | b、a ^ b、~ a、a >> b、a >>> b
  • 論理演算子
    • a && b (aかつb)
    • a || b (aまたはb)
    • !a (aではない)
  • 特殊演算子
    • 条件演算子
    • コンマ演算子
    • delete
    • in
    • instanceof
    • new
    • this
    • typeof
    • void
      }

オブジェクト

  • オブジェクトは以下のように定義される

    var objName = new Object();
    もしくは
    var objName = {} //こちらは「オブジェクトリテラル形式」と言う。

  • オブジェクトには以下の種類が有り。

    • 標準ライブラリオブジェクト
      • オブジェクト (Object)
      • 真偽値 (Boolean)
      • 計算 (Math)
      • 数値 (Number)
      • 配列 (Array)
      • 文字列 (String)
      • 正規表現 (RegExp)
      • 日付 (Date)
      • 関数 (Function)
      • エラー (Error)

制御文

if文

var num = 2;
if (num >= 6) {
  alert(“6以上です。”)
} else if ((num<6)&&(num>=3)) {
  alert(“3以上6未満です。”)
} else {
  alert(“3未満です。”)
}

while文

while (true) {
// 無限ループ!
}

for文

for (var i = 0; i < 5; i++) {
  // 5 回実行されます
  alert(i+”回目の実行です。”);
 }

関数

function add(x, y) {
  var total = x + y;
  return total;
}

参考

0 コメント:

コメントを投稿