[英]Are these way to define function in javascript equal?
我想知道以下javascript中的写函数是否相等。
对我而言,它们似乎产生了相同的结果,但它们可能会有什么不同?
第一种方式:
(function(){
alert('ciao')
})();
第二种方式:
new function bar(){alert('ciao')};
第二个返回函数的新实例,就好像它是一个构造函数。
所以,这些都是公平的:
传统方法:
function bar() {
this.x = 5;
};
var x = new bar();
懒惰的单行。
var x = new function bar() { this.x = 5; };
唯一的区别是你以后不能重复使用吧。
如果你不相信我,试试console.log(xy);
两个例子。
你的第一个例子是一个匿名函数,它没有被实例化,只是被调用。
第一个执行函数并返回它的结果。 第二个执行函数并返回一个对象。
编辑:示例:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.