u16suzuの blog

日々学んだことのメモブログです。

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

XMLHttpRequest

あとでやる

this, classっぽいもの, 継承, prototype