[英]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.