S eda1a14b50ee24bcab19b62f40858e76 JavaScript

今までにないおもしろい言語。未来に生き残る言語はこれかも

オブジェクト(連想配列)の順序

http://d.hatena.ne.jp/holidays-l/20061206/p2
仕様では順序は保証されないらしい。
念のためIE6, IE7, Firefox2, Firefox3, Opera9.5, Safari3, Chromeで要素数増やした下記コードで調べてみても順序通りでした。

var a = {
    'a':1, 'b':1, 'c':1, 'd':1, 'e':1, 'f':1, 
    'g':1, 'h':1, 'i':1, 'j':1, 'k':1, 'l':1, 
    'm':1, 'n':1, 'o':1, 'p':1, 'q':1, 'r':1, 's':1
};
for (var i in a){
  document.write(i);
}
document.write('
'); a.t = 2; a.u = 3; a.v = 4; a.w = 5; a.x = 6; a.y = 7; a.z = 8; delete a.a; delete a.c; delete a.f; for (var i in a){ document.write(i); }


Argumentsオブジェクトを配列にする

var array = Array.prototype.slice.call(arguments, 0, arguments.length);

nullなら空のオブジェクトにする

hoge ||= {};

グローバル空間を使わないようにする

(function(){
  ...
})();

型変換

via http://www.ideaxidea.com/archives/2010/03/...
良く見る"!!" はbooleanへの型変換だったのか
var myVar   = "3.14159",
    str   = ""+ myVar,//  to string
    int   = ~~myVar,  //  to integer
    float = 1*myVar,  //  to float
    bool  = !!myVar,  /*  to boolean - any string with length and any number except 0 are true */
    array = [myVar];  //  to array

10 Small Things You May Not Know About Javascript

http://samuli.hakoniemi.net/10-small-thing...

window.name session


window.name はブラウザ、タブを閉じるまで有効な空間

undefinedチェック

typeof foo != "undefined" でもいいが、
window.foo でOK

引数のデフォルト

function hoge(a){
  a = a || {};
}

createDocumentFragment

え、何だこれ!DOM作成の一時領域?知らなかった…。



もしかして

    他の人の「JavaScript」

    S eda1a14b50ee24bcab19b62f40858e76

    無所属ソフトウェアエンジニア

    (1722words)

    最新

      最新エントリ

        関連ツイート