JavaScript 第3版 読了
読んだのはずいぶん前だけど、まとめを書くのを忘れてた。5版はまあ必要になったら。
- 作者: デイビッドフラナガン,David Flanagan,村上列,垰井正雄,安藤進
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2000/12
- メディア: 単行本
- 購入: 2人 クリック: 60回
- この商品を含むブログ (102件) を見る
会社に転がってたのを読了。
といっても、第1部の「コアJavaScript」をざーっと読んだくらい。第2部の「クライアントサイドjavaScript」は書いてる内容が古過ぎてまじめに読む気になれませんでした。
以下、メモ。
4.3 変数のスコープ
関数ベースのスコープは感覚をすぐに忘れちゃう気がする。
5.2.4 演算子の結合順位
w = x = y = z
は
w = (x = (y = z))
と同意。
関係ないけど、Pythonだと
In [7]: 2 < 4 Out[7]: True In [8]: 2 < 4 < 0 Out[8]: False In [10]: 2 < 4 < 9 < 11 Out[10]: True
みたいな書き方ができると今日、知りました。あんまり使うシーンが想像できないけど。
7.4 関数の引数:Argumentsオブジェクト
現在実行中の関数を参照するには、
arguments.callee
現在実行中の関数を呼び出した関数を参照するには、
arguments.caller.callee
function funcname(f){ var s = f.toString().match(/function (?w*)/)[1]; return ((s==null) || (s.length == 0))? "anonymous" : s; } function stacktrace() { var s = ''; for (var a = arguments.caller; a != null; a = a.caller) { s += funcname(a.callee) + '?n'; if (a.caller == a) break; } }
11.1 データ型の自動変換
値 | 文字列 | 数値 | 論理値 | オブジェクト |
---|---|---|---|---|
空でない文字列 | - | 文字列の数値または NaN | true | String オブジェクト |
空の文字列 | - | 0 | false | String オブジェクト |
0 | "0" | - | false | Number オブジェクト |
NaN | "NaN" | - | false | Number オブジェクト |
無限大 | "Infinity" | - | true | Number オブジェクト |
負の無限大 | "-Infinity" | - | true | Number オブジェクト |
そのほかの数値 | 数字に対応する文字列 | - | true | Number オブジェクト |
true | "true" | 1 | - | Boolean オブジェクト |
fale | "false" | 0 | - | Boolean オブジェクト |
オブジェクト | toString() | valueOf() または toString() または NaN | true | - |
配列 | カンマで区切られた要素のリスト | 要素が一つだけでその値が数値に変換可能なら数値、それ以外ならNaN | null以外ならtrue | - |
関数 | 処理系依存の関数リスト | NaN | true | - |
null | "null" | 0 | false | Error |
未定義値 | "undefined" | NaN | false | Error |
12.2.1.2 タグ
HTMLパーサは""という文字列を見つけると終了タグだと判断する。
ので、
"</" + "script>"
と書く。