文と呼び出し |
文を書いたら、window.onloadなど読み込むタイミングを入れること。単体では自動で行われない。 |
連番の変数を用意 |
eval("example"+i="入れたい値");等としてiをfor文で回す等ができる。 |
数値と文字列の変換 |
""+数値で文字に変換、eval()やparseInt()で数値 |
改行を含めても一行として判断して欲しい場合 |
末尾に¥を入れることでヒアドキュメントと判断され、改行を入れても連結して判断する。 |
イテレータの使用 |
__iterator__プロパティを実装することで、イテレータを使用できる |
列挙型の使用 |
new Enumeration(コレクション)で利用できる。最後はxxxx.atEnd(),次の要素への移動はxxxx.moveNext(),要素の内容はxxxx.item()でアクセスできる。) |
オブジェクトの実装 |
obj={};はObject.create(Object.prototype);と同義 |
親フレームから子フレームの制御 |
変数名=window.open("URL",ウィンドウ名); 変数名.document.getElementId("ID名").何ちゃらに値を入れるなど |
タブ作成 |
CSSやインターフェースの利用(http://gigazine.net/index.php?/news/comments/20070419_tab_ajax/ , http://a-h.parfe.jp/einfach/archives/2006/1012175043.html) |
変数の宣言チェック |
use strict;とすると厳格モードになり、エラー摘出が容易になる。 |
DOMエレメント,NodeListの配列化 |
パフォーマンス的に配列で処理した方が良かったりする場面に使う。Array.prototype.slice.call(DOMのエレメント,NodeList等) |
呼び出し元の取得 |
arguments.callee.callerを使うと関数の呼び出し元を取得できる |
閉じるボタンを押した時の処理 |
http://oshiete.goo.ne.jp/qa/2355784.html参照。 |
デバッグ |
ソースコードにdebugger;と書くことでもブレークポイントを設定できる |
ウィンドウがアクティブになったか調べる |
document.hasFocus()を使うと良い。 |
オブジェクトに対してコマンドを実行するには |
document.execcommand()を使う。http://msdn.microsoft.com/ja-jp/library/cc392410.aspx参照。 |
エレメントが表示される所までスクロール |
画面スライド等に便利かもしれない。element.scrollIntoView(alignWithTop)でできる。 |
配列へのアクセス |
ECMA6thで、for ...in,for ...ofが提案されている |
気づきにくいエラー要因1 |
idとonclickの関数名が一緒はダメ |
気づきにくいエラー要因2 |
getElementByIDのdが大文字のせいではまる。正しくはgetElementById。 |
気づきにくいエラー要因3 |
エラーも出ないのだが、window.onloadとbody onload一緒に書くと先に書いた方が無視されてしまう。この場合には後付けでイベントハンドラの追加を行う。方法としてはwindow.addEventListenerとwindow.attachEventを利用することで解決できる |
気づきにくいエラー要因4 |
自分で定義した関数名にonclick,confirm,delete等の一般の関数名を含む関数名を付けるとうまく機能しないことがある。また、-等の特殊文字系も通らないことが多いので注意 |
よく分からないエラー要因1 |
textフィールドをformタグに囲った場合、Enterボタンを押すと再読み込みが始まる |