卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

java基礎(chǔ)知識點(diǎn) javascript中 “ !function(){}() ”,是什么意思?

javascript中 “ !function(){}() ”,是什么意思?! 函數(shù)與(function(){…})()函數(shù)具有相同的含義。它被稱為立即運(yùn)行的匿名函數(shù)。JS可以創(chuàng)建這樣的匿名函數(shù):(f

javascript中 “ !function(){}() ”,是什么意思?

! 函數(shù)與(function(){…})()函數(shù)具有相同的含義。它被稱為立即運(yùn)行的匿名函數(shù)。JS可以創(chuàng)建這樣的匿名函數(shù):(function(){do something…})//或(function(){do something…}())。匿名函數(shù)后面的括號()使匿名函數(shù)立即執(zhí)行,實(shí)際上是一個函數(shù)調(diào)用。這將報(bào)告一個錯誤:函數(shù)(){alert(1)}(),因?yàn)闆]有(或!~在函數(shù)前面,JS解析器會嘗試將關(guān)鍵字函數(shù)解析成函數(shù)聲明語句,而不是函數(shù)定義表達(dá)式。作為一個組運(yùn)算符,括號()將內(nèi)部表達(dá)式作為一個整體并返回結(jié)果。因此,定義匿名函數(shù)的正確格式是用括號括起函數(shù)體。相同的!~-和其他操作符具有相同的效果。這是因?yàn)槟涿瘮?shù)也是一個值。這些操作符將以下函數(shù)體作為一個整體,首先對匿名函數(shù)求值,然后對結(jié)果進(jìn)行操作。但是,盡管這些操作符可以使匿名函數(shù)立即執(zhí)行,但它們也有副作用,例如:!Function(){return 1}()//false~ Function(){return 1}()//2-Function(){return false}()//0-Function(){return}false}()//0是的,它們將對函數(shù)的返回值進(jìn)行操作,這可能會導(dǎo)致最終結(jié)果與您想要的不同。當(dāng)然,對于那些沒有返回值的函數(shù),這并不重要。擴(kuò)展數(shù)據(jù):匿名函數(shù)調(diào)用:VAR ABC=function(x,y){return x,y}alert(ABC(2,3))///上述操作實(shí)際上相當(dāng)于定義函數(shù)的另一種方式,這種用法更常見。例如,當(dāng)我們設(shè)置一個DOM元素事件處理函數(shù)時,我們通常不給它們命名,而是給它對應(yīng)的事件一個匿名函數(shù)的引用。使用()括起匿名函數(shù),后跟一對圓括號(包含參數(shù)列表)。警報(bào)((新函數(shù)(“x”、“y”、“return x*y”))(2,3))//“6”