1章
とくにないけど、以下の定義はたびたび利用されるので、覚えておく。
Function.prototype.method = function (name, func) {
this.prototype[name] = func;
return this;
};
いちいちprototypeって書かなくていいのと、thisを変えすことでメソッドを続けて呼べる(カスケード)がメリット
2章 文法
- 名前
- undefined,NaN,Infinityは予約語ではない。
- 数値
- jsは数値型が1つ。1と1.0は同じ。
- NaNは数値を生成できない計算をした場合に得られる。NaNはどんな値ともイコールにならない。NaNとも。isNaN関数を使用すること。
- 数値はメソッドをもつ
- 文字列
- 16bit長
- プロパティとメソッドをもつ
- 命令文
- スコープはグローバルor関数スコープ
- varを付けると関数内のプライベート変数
- if文などはブロックを形成しないので、変数の宣言は、関数内の先頭で行う。(関数スコープは存在する)
- 偽と評価されるもの。以下以外は真。
- false
- null
- undefined
- 空文字列''
- 0
- NaN
- switchのcaseは式でもいい。case x+y:
- for in はプロパティ名かキー名を列挙するが、プロトタイプチェーン上のものと区別するために以下のようにする。
for (myvar in obj) {
if (obj.hasOwnProperty(myvar)) {
}
}
- try{}catch(e){}finally{}
- try内で例外が投げられると、catchが引数に例外オブジェクトを受け取り、処理。finallyは例外に関わらず必ず実行される。
- throw:例外を発生させる
- 例外がtry外で起こった場合、実行を中断して、呼び出し元でtryがあれば処理を移動する。
- 通常throwにはname,messageプロパティを含ませる。
- returnと式の間に改行はダメ、breakとラベルの間に改行はダメ。
- 式
- typeofはnumber,string,boolen,undefined,function,objectを返す。
- null,配列はobjectを返す点に注意。
- typeofはnumber,string,boolen,undefined,function,objectを返す。
- リテラル
- オブジェクトのプロパティ名はリテラルとして扱われるので、コンパイル時に正体がわからない変数は使用できない。
0 件のコメント:
コメントを投稿