Javascript

参考サイト

参考書籍

Javascript 字句構造

データ型と値

数値

文字列

演算子

優先順位演算子説明
15. [] () newプロパティ、配列、関数呼び出し、コンストラクタ
14++ -- - + ! delete typeof void単項演算子
13* / %乗算、除算、剰余
12+ - +加減算、文字列連結
11<< >> >>>シフト
10< <= > >= instanceof in比較演算子、オブジェクトの型、プロパティの存在チェック
9== != === !==比較演算子(等号・不等号)
8&ビット演算子
7^ビット演算子
6|ビット演算子
5&&論理演算子
4||論理演算子
3?:条件演算子
2*= /= %= += -= <<= >>= >>>= &= ^= |=演算を伴う代入
1,複数の式を並べる

文(statement)

イベント

キーボード、マウス操作、フォーム入力、window操作などが起こるとイベントが発生する。捕捉したい要素に対してイベントハンドラーを設置することで、イベントに応じた処理を呼び出せる。addEventListener(イベント名, 処理する関数, イベントをそこで捕捉するか否か)。

element.addEventListener("keydown", function, true);

詳しくは、GlobalEventHandlers - Web API インターフェイス | MDN

主要なイベント
blur / focusフォーカスが移動したとき
changeフォームの入力値、選択が変更されたとき
select / selectstartテキストが選択されたとき
submit / resetフォームの送信、リセット
abort / error画像読み込み時に中止、エラー
load / unloadページ読み込み時、ページ切替時
click / dblclickマウスのクリック、ダブルクリック
keypress / keydown / keyupキーの状態
mouseout / mouseoverマウスが要素から離れた、要素上にいる
mousedown / mouseupマウスのボタンの状態
mousemoveマウスを動かしているとき

windowオブジェクト

グローバル関数

isFinite(n)引数がNaN, 正負の無限大 のときに false を返します。それ以外ではtrue。
isNaN(n)渡された引数を数に変換できるか試して変換できなかった場合に true を返します。
parseFloat(string)先頭から浮動小数点として意味のある部分を変換して返します。
parseInt(string [,radix])先頭から指定された基数(省略時は十進数) として意味のある部分を整数値に変換して返します。文字列の先頭が "0x" の場合は16進数で解釈します。
eval(string)string をプログラムとして解釈して実行し結果を返します。セキュリティに注意して下さい。
decodeURI(encodedURI)encodeURIによってエンコードされた URI 内のエスケープシーケンスをそれぞれが表す文字に置き換えます。"#"はデコードされません。
decodeURIComponent(encodedURI)エンコードされた URI 内のエスケープシーケンスをそれぞれが表す文字に置き換えます。
encodeURI(URI)URI は完全な URI であることが想定されます。ですから、URI において特別な意味を持つ予約された文字 (reserved characters)はエンコードされません。
encodeURIComponent(URI)特定の文字の実体を、UTF-8 文字エンコーディングで表された 1つ、2つ、あるいは、3つのエスケープシーケンスに置き換えることで、URI (Uniform Resource Identifier) をエンコードします。

encodeURI は、以下を除く全ての文字を 適切な UTF-8 エスケープシーケンスで置き換えます。:

種類 含む文字
予約された文字 ; , / ? : @ & = + $
エスケープされない文字 アルファベット、数字、- _ . ! ~ * ' ( )
スコア #

encodeURI は、それ自身では、XMLHTTPRequests などのための、適切な HTTP GET 及び POST リクエストを作成できないことに注意してください。なぜなら encodeURI では、GET 及び POST リクエストにおいて特別な文字として扱われる、"&"、 "+"、 "=" がエンコードされないからです。ですが、encodeURIComponent は、これらの文字をエンコードします。これらの挙動は、ブラウザ間でほとんど一貫していません。

グローバル・オブジェクト

Global Objects - JavaScript | MDN

Javascriptの動作をサポートする内部ライブラリはグローバルオブジェクトの形で提供される。C++におけるStatic Class に相当し、有用な関数を提供する。

Number

プロパティ説明
MAX_VALUE表現可能な最大値:
MIN_VALUE表現可能な最小値:
NaN数値では無いことを表す特別な値(Not a Number)
NEGATIVE_INFINITY負の無限大。オーバーフロー時に返される
POSITIVE_INFINITY無限大。オーバーフロー時に返される
メソッド説明
toExponential([width])浮動小数点表示(四捨五入):
toPrecision(width)概数表示(四捨五入):
toFixed(width)固定小数点表示(四捨五入):
toLocaleString習慣的表示:
toString([radix])基数表示:
valueOf
isNaN
isFinite
isInteger[FireFox]

String

プロパティ説明
length文字列の長さ
[N] 番目の文字にアクセス。N は、0 から length - 1 まで。読み込み専用。
メソッド説明
charAt(index)指定された添字の文字
charCodeAt(index)指定された添字の文字のUnicode
concat(string2 [, string3,...])二つの文字列の連結
contains(searchString [, position])文字列が含まれてるかどうか?
endsWith(searchString [, position])(positionを末尾として)対象文字列の末尾がsearchString?
indexOf(searchString [, fromIndex])対象文字列で、最初にsearchStringが現れたインデックス。(失敗時 -1)
lastIndexOf(searchString [, fromIndex])対象文字列で、最後にsearchStringが現れたインデックス。(失敗時 -1)
localeCompare(compareString)参照文字列と、compareStringの辞書順での比較。
match(regexp)対象文字列と正規表現のマッチ実行。gフラグの有無にかかわらず一致した文字列の配列を返す。
replace(regexp|substr, newSubStr|function[,flags])文字列の置換。第二引数には、新しい部分文字列を生成するための関数を指定できる。
search(regexp)対象文字列から正規表現を検索。(失敗時 -1)
slice(beginSlice[, endSlice])文字列の一部を取り出し
split([separator][, limit])
startsWith(searchString[, position])(positionを先頭として)対象文字列の先頭がsearchString?
substr(start[, length])文字列内における文字を、指定した位置から指定した数だけ返す。
substring(indexA, indexB)対象文字列のindexA~indexB-1 の文字列を返す
toLocaleLowerCase()→toLowerCase
toLocaleUpperCase()→toUpperCase
toLowerCase()小文字に変換
toUpperCase()大文字に変換
toString()
trim()[FireFox]文字列の最初と最後にある空白を削除
valueOf()

replace

match

Boolean

boolean のラッパークラス

Object

prototype メソッド説明
hasOwnPropertyオブジェクトの直接のプロパティとして持っているかを示す真偽値を返す。
isPrototypeOfオブジェクトのプロトタイプチェーンにあるかどうかを示す真偽値を返す。
propertyIsEnumerable内部的に ECMAScript DontEnum 属性 が設定されているかどうかを示す真偽値を返す。
toLocaleStringtoString を呼び出す。
toString指定されたオブジェクトを表した文字列を返す。
Object メソッド説明
create(proto[, propertiesObjects])指定されたプロトタイプオブジェクトとプロパティから、新しいオブジェクトを生成します。 (JavaScript 1.8.5)
defineProperty(obj, prop, descriptor) 与えられた記述子に基づき、名前のついたプロパティをオブジェクトに追加します。(JavaScript 1.8.5)
defineProperties(obj, props)与えられた記述子に基づき、複数の名前のついたプロパティをオブジェクトに追加します。(JavaScript 1.8.5)
getOwnPropertyDescripter(obj, prop)オブジェクトの指定された名前のプロパティの記述子を返します。(JavaScript 1.8.5)
keys(obj)与えられたオブジェクトの列挙可能なすべてのプロパティの名前を含む配列を返します。(JavaScript 1.8.5)
getOwnPropertyNames(obj)与えられたオブジェクトの列挙可能および列挙不可なすべてのプロパティの名前を含む配列を返します。 (JavaScript 1.8.5)
getPrototypeOf(obj)指定したオブジェクトのプロトタイプを返します。 (JavaScript 1.8.1)
preventExtensions(obj)オブジェクトに対するあらゆる拡張 (extension)を禁止します。 (JavaScript 1.8.5)
isExtensible(obj)オブジェクトに対する拡張 (extension)が許可されているかを判断します。 (JavaScript 1.8.5)
seal(obj)オブジェクトを封印 (seal)し、オブジェクトのプロパティの削除を禁止します。 (JavaScript 1.8.5)
isSealed(obj)オブジェクトが封印 (seal)されているかを判断します。 (JavaScript 1.8.5)
freeze(obj)オブジェクトを凍結 (freeze)し、オブジェクトのどのプロパティに対しても変更または削除ができないようにします。 (JavaScript 1.8.5)
isFrozen(obj)オブジェクトが凍結 (freeze)されているかを判断します。 (JavaScript 1.8.5)

Function

プロパティ説明
constructorオブジェクトの原型を作る関数
length関数で宣言された引数の数
メソッド説明
call(object[,arg1,...])objectからの呼び出しとして関数を実行する
apply(object[,[arg1,...]])objectからの呼び出しとして関数を実行する。引数を配列で渡す。
bind(object[,arg1,...])objectからの呼び出しとして関数を実行する。arg1,..を指定する。 (JavaScript 1.8.5)
isGenerator関数がジェネレータか? (JavaScript 1.8.6)
toString関数のソースコードを返す
var biggest = Math.max.apply(null, array_of_numbers);

Date

new Date()
new Date(value)
new Date(dateString)
new Date(year, month, day [, hour, minute, second, millisecond])
メソッド説明
now()現在を表すミリ秒数
parse( string )日時を表す文字列から、そのミリ秒数を取得
UTC()コンストラクタと同じ引数から、1970/1/1 00:00:00 からのミリ秒数を取得
メソッド説明
getDate
getDay
getFullYear
getHours
getMilliseconds
getMinutes
getMonth
getSeconds
getTime
getTimezoneOffset
getUTCDate
getUTCDay
getUTCFullYear
getUTCHours
getUTCMilliseconds
getUTCMinutes
getUTCMonth
getUTCSeconds
setDate
setFullYear
setHours
setMilliseconds
setMinutes
setMonth
setSeconds
setTime
setUTCDate
setUTCFullYear
setUTCHours
setUTCMilliseconds
setUTCMinutes
setUTCMonth
setUTCSeconds
toDateString
toLocaleDateString
toLocaleString
toLocaleTimeString
toString
toTimeString
toUTCString
valueOf
toJSON

Math

プロパティ説明
Eオイラー数:
LN22の自然対数:
LN1010の自然対数:
LOG2E2を底にしたEの対数:
LOG10E10を底にしたEの対数:
PI円周率:
SQRT1_21/2の平方根:
SQRT22の平方根:
メソッド説明
abs絶対値:
acosアークコサイン(radian):
asinアークサイン(radian):
atanアークタンジェント(radian):
atan22引数の比率でアークタンジェント:
ceil引数以上の最小整数(切り上げ):
cosコサイン:
expEの引数乗:
floor引数以下の最大整数(切り下げ):
log自然対数:
max引数の中の最大数:
min引数の中の最小数:
pow第一引数の値を第二引数の値で累乗:
random0位上1未満の擬似乱数:
round四捨五入:
sinサイン:
sqrt平方根:
tanタンジェント:

RegExp

var regex = new RegExp("pattern" [, "flags"]);
var literal = /pattern/flags;
※文字列リテラル中のバックスラッシュはエスケープシーケンスなので、"\\"を指定する。
flags説明
gグローバルなマッチ
i大文字小文字の無視
m複数行に渡るマッチ

プロパテイ説明
global(読み出し専用)対象文字列で可能なマッチ全てに対して正規表現をテストするか、それとも、最初のマッチに対してのみテストするどうかのフラグ。
ignoreCase(読み出し専用)大文字と小文字の違いを無視するかどうかのフラグ。
lastIndex(読み書き)次のマッチが始まる位置
multiline(読み出し専用)複数行に渡って文字列を検索するかどうかのフラグ。
source(読み出し専用)パターンのテキスト
メソッド説明
exec(string)その文字列のパラメータでのマッチのための検索を実行します。
test(string)その文字列のパラメータでのマッチのためのテストをします。
toString()その正規表現を表す文字列を返します。

Array

プロパティ説明
length配列の有効な最大インデックス+1
メソッド説明
toString()配列を文字列化する
toLocaleString()
concat(item1,...)配列の連結
join(separator)配列をseparatorを連結子として連結した文字列
pop()配列末尾から要素を取り除く
push(item1,...)配列末尾に要素を追加して、その配列の長さを返す
reverse()配列の要素を反転させます。
shift()配列の最初の要素を取り除く
slice(start, end)startからend番目の配列要素を取得する。 引数に負の数を指定すると、配列の末尾から。
sort(comparefn)配列のソート。comparefn は指定がなければ、function(a,b){ return a-b;} で昇順にソート。
splice(start, deleteCount[,item1,...])配列のstartからdeleteCount分取り除き、要素指定があればそれを挿入
unshift(item1,...)配列の先頭にアイテムを追加して、その配列の長さを返す。

Error

Errorは try { } catch(e) {} で捕捉する。

new Error([message])
Error Types
Last Modified: 2015/06/07 22:39:02