8月
25th
火
25th
今日の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();