我遇到了以下奇怪的行为:
加载期间:
var a = new function() {};
alert(typeof a); //outputs function instead of object
正如预期的那样,在页面加载后执行完全相同的代码会产生对象而不是函数。
以下确实返回对象,但如果可能,我想避免它:
function b(){}
var a = new b();
alert(typeof a); //outputs object
我在这里错过了什么吗?为什么第一个例子没有给我一个对象引用而不是一个函数?
测试:
火狐 24
铬 28
IE 10
编辑:
事实证明,这不是浏览器问题,而是 Brackets 实时预览的错误。
<!DOCTYPE html>
<html>
<head>
<script>
var a = new function() {};
alert(typeof a); //should output 'object' but outputs 'function' in Brackets
</script>
</head>
<body>
</body>
</html>