第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

(function(){ alert("test"); }()) === (function(){ alert("test"); })(); 這兩個是不是等價的

標準的立即調(diào)用的函數(shù)寫法是:

(function(){})();

但是我看到還有這種寫法

(function(){}())

這兩種寫法等價嗎

正在回答

5 回答

javascript不存在相等的兩個對象,比如[]===[],{}==={}均為false,而函數(shù)的比較最為復雜,樓主寫的兩個自執(zhí)行函數(shù)均無返回值,瀏覽器便取默認值(不是undefined就是null了,實際上undefined==null)去比較,自然相等;

0 回復 有任何疑惑可以回復我~
#1

feibenren 提問者

非常感謝!
2015-11-18 回復 有任何疑惑可以回復我~

這里的函數(shù)執(zhí)行,比較其實比較的是執(zhí)行后的結(jié)果,自然相等。如果不執(zhí)行,兩個引用類型的值是不相等(內(nèi)存地址不相同。)

0 回復 有任何疑惑可以回復我~

好像沒回答到正題上(===。。。拜托),函數(shù)自執(zhí)行的方法太多了,但絕對沒有完全等價的;關(guān)于函數(shù)自執(zhí)行Xfunction(){}();其中的X你只要取任何使該語句不違法的值都可以達到函數(shù)自執(zhí)行(語言就是這么規(guī)定的,別問為什么),比如:1?function(){document.title='hello word'}:null;

0 回復 有任何疑惑可以回復我~

實驗了 效果是直等于 返回值true

0 回復 有任何疑惑可以回復我~

(function(){ alert("test1"); }());

(function(){ alert("test2"); })();

alert((function(){ alert("test1"); }())===(function(){ alert("test2"); })());

瀏覽器中執(zhí)行以上代碼結(jié)果:test1,test2,test1,test2,true。

個人認為,執(zhí)行效果等價,但“===”判斷應(yīng)為錯才對啊

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

(function(){ alert("test"); }()) === (function(){ alert("test"); })(); 這兩個是不是等價的

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號