先看看熟悉一点的写法:
var a = new function Person(abc) {
this.name = "xgs";
}
//很好理解,使用Person构造函数创建了一个对象是吧。
new function(){} 与 new Function()的区别
var a = new function() {
this.name = "zl";
}
//自然,new function(){}就是用匿名函数创建了一个对象了,
//注意这个对象并不是函数(Function.prototype.isPrototypeOf(a);//false),
//这也是new function(){}与new Function(){}的区别
奇怪
var a = new function Xgs() {
this.name = "zl";
}
Xgs; //undefined, 为什么呢?
a.constructor; // function Xgs() { this.name = "zl"; }
有趣
document.body.onclick = {
return function() {
alert("hah");
}
};//不可以添加事件,报错
document.body.onclick = new function() {
return function() {
alert("hah");
}
};//可以添加事件,这个东西不错