日期:2014-05-16 浏览次数:20301 次
突然想到一段代码。如下:
?
function handler(){ alert(this) } {}.test = handler; {}.test()
?
按照我的思路,这个应该弹出object。
?
不过,结果很失望。在IE和FF下都报错。
?
和朋友们交流了一下,也没什么合理的解释,顾请各位路过的大侠们帮忙解答下。
?
大恩不言谢!!
{}.test = handler;这句话呢,{}被当成了代码块处理,所以,是语法错误。可以这样调整,
({}).test = handler;
{}.test = handler;
({}).test = handler;
{}.test()
({}).test()
({}).test
({test:function(){alert(this);}}).test();