new function

先看看熟悉一点的写法:

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");
    }
};//可以添加事件,这个东西不错
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容