第1个回答 2009-08-30
我来更正一下,如下语句
new function() {return false;};
返回一个对象,但绝不是一个函数对象,和语句function (){return false};含义也不同,当然更不是一个boolean对象了。
比如:
var f = new function() {return false;};
alert(typeof f);
通过浏览器的提示框可以看到f的类型是object而不是function。
而:
var f = function(){return false;}
alert(typeof f);
这个f才是function。
如果禁止右键菜单不要这么写,而要写成:
document.oncontextmenu = function() {return false;};
至于提问者说的返回boolean的写法为:
var f = (function(){return false;})();
alert(f);
f为false。本回答被网友采纳