javascript, js
log
console.log('hoge');
変数名に使用可能な文字
$, _, アルファベット, 0-9
まとめて初期化
var a =1, b =2, c=3;
文字列を整数に変換
var num2 = parseInt(str, 10);
整数を文字列に変換
string_data = String(integer_data);
変数の型を確認
console.log( typeof(val));
console.log( typeof( String(val) ));
google chromeでは整数型は青文字で表示される!文字列は黒
google chromeのデバッガ
F8: 再開
F10: ステップオーバー
F11: StepIn
Sh + F11: StepOut
DOM操作
document.getElementById('hoge').childNodes[1].innerHTML;
document.getElementsByTagName('hoge');
指定時間後に関数を実行
window.setTimeout("呼び出す関数", "待機時間")
部分文字列
var substring = 'abcd'.substring(1, 2); // => b
検索
var result1 = 'abcd'.indexOf('cd'); // => 2
sleep
setTimeout( func(), 5000 ); // call after 5sec
Array
var a = [1, 2, 3]
console.log( a[0]);
push(); は最後に追加
連想配列
var a = {a: 123, b: 456};
console.log(a['a']);
console.log(a.b);
for-in文
h = {a: 1, b:2, c:3}; for( var i in h){ alert( h[i]);}
関数定義
function hoge(){ console.lout('hoge'); }
call function
hoge();
即時関数(関数定義と呼び出しを同時にする)
(function hoge(){ alert(1); })();
(関数名はなくてもいい; 無名関数)
(function(){ alert(1); })();
Class 的用法
Objectにメソッドを追加(rubyの特異メソッドっぽい)
obj = new Objectr();
obj.test = function(){ console.log(1); }
obj.test(); // 1
Objectに変数を追加
obj = new Object();
obj.abc = 33;
console.log( obj.abc ); // 33
Objectに持っているメソッドの一覧を取得
hoge.a = function(){ console.log('hoge is called') };
hoge.b = function(){ console.log('hoge is called') };
hoge.c = function(){ console.log('hoge is called') };
for( var i in hoge){ console.log(i); }
==と===
==は自動的に型変換が行われて比較される。
0=='0' // true 0==='0' // false
File I/O
あとでやる
this, classっぽいもの, 継承, prototype