less

きづかないくらいイージーなクオリティー

Archive

8月
25th
permalink

今日のIE

6です。

delete window.foo出来ない

このオブジェクトではサポートされていない操作です。とかなんとか。IE以外のブラウザでは通る。

window.foo = undefined;

で対処出来る。特に問題もないと思う。

関数リテラルに付けた名前 !== arguments.callee

具体的には

// 関数リテラルに名前を付けてarguments.calleeの代わりにする
// 速度が少し上がるみたい
equal = (function f() {
    var callee = arguments.callee;
    return function() {
        // IEではfalse、それ以外のブラウザではtrue
        console.log(f === callee);
    }
})();
equal();

参照されてないのかなぁ。普段は問題にならないけど関数オブジェクトに何かプロパティを追加してる時に見つからなくて困る。

foo = function f() {
    // IEではundefined、他はhidden!
    console.log(f.bar);

    // hidden!
    console.log(arguments.callee.bar);
};
foo.bar = 'hidden!';
foo();