avascript中的自執(zhí)行匿名函數(shù)應(yīng)用示例
Javascript中的自執(zhí)行匿名函數(shù)
格式:
(function(){ //代碼 })();
解釋:這是相當(dāng)優(yōu)雅的代碼(如果你首次看見可能會(huì)一頭霧水:)),包圍函數(shù)(function(){})的第一對(duì)括號(hào)向腳本返回未命名的函數(shù),隨后一對(duì)空括號(hào)立即執(zhí)行返回的未命名函數(shù),括號(hào)內(nèi)為匿名函數(shù)的參數(shù)。
來個(gè)帶參數(shù)的例子:
(function(arg){ alert(arg+100); })(20); // 這個(gè)例子返回120。
重要用途:可以用它創(chuàng)建命名空間,只要把自己所有的代碼都寫在這個(gè)特殊的函數(shù)包裝內(nèi),那么外部就不能訪問,除非你允許
(function(){ function $(id){ return document.getElementById(id); } function __addClass(id,className,classValue){ $(id).style.className=classValue; } window['mySpace']={}; window['mySpace']['addClass']=__addClass; })();
上面的例子就可以用這種偽命名空間封裝并保護(hù)自己的所有函數(shù)、對(duì)象和變量。而且,由于它們位于同一個(gè)函數(shù)中,所以可以互相引用。為了對(duì)受保護(hù)的代碼進(jìn)行全局化,隨后的一對(duì)括號(hào)告訴瀏覽器立即執(zhí)行返回的匿名函數(shù),而且在執(zhí)行期間將__addClass()賦值給了window的一個(gè)方法,這樣在外部只能執(zhí)行addClass而__addClass被保護(hù)起來了。我可以這樣調(diào)用它:mySpace.addClass('oneId','font-width','bold')
相關(guān)文章
JS實(shí)現(xiàn)滑動(dòng)菜單效果代碼(包括Tab,選項(xiàng)卡,橫向等效果)
這篇文章主要介紹了JS實(shí)現(xiàn)滑動(dòng)菜單效果代碼,以實(shí)例形式實(shí)現(xiàn)了包括Tab,選項(xiàng)卡,橫向等效果,非常簡單實(shí)用,需要的朋友可以參考下2015-09-09JS實(shí)現(xiàn)控制表格行文本對(duì)齊的方法
這篇文章主要介紹了JS實(shí)現(xiàn)控制表格行文本對(duì)齊的方法,涉及javascript操作表格樣式的相關(guān)技巧,需要的朋友可以參考下2015-03-03javascript+dom樹型菜單類,希望朋友們一起進(jìn)步
javascript+dom樹型菜單類,希望朋友們一起進(jìn)步...2007-05-05html判斷當(dāng)前頁面是否在iframe中的實(shí)例
下面小編就為大家?guī)硪黄猦tml判斷當(dāng)前頁面是否在iframe中的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-11-11JavaScript使用focus()設(shè)置焦點(diǎn)失敗的解決方法
這篇文章主要介紹了JavaScript使用focus()設(shè)置焦點(diǎn)失敗的一個(gè)解決方法 ,需要的朋友可以參考下2014-09-09JavaScript中通用的jquery動(dòng)畫滾屏實(shí)例
這篇文章主要介紹了JavaScript中通用的jquery動(dòng)畫滾屏實(shí)例,本文通過實(shí)際代碼來詳解實(shí)現(xiàn)方法,需要的朋友可以參考一下2022-07-07教你用wxml2canvas將微信小程序頁面轉(zhuǎn)為圖片
如果需要實(shí)現(xiàn)將小程序的頁面轉(zhuǎn)為圖片,第一步是要先把頁面轉(zhuǎn)為canvas,再將canvas轉(zhuǎn)為圖片,下面這篇文章主要給大家介紹了關(guān)于用wxml2canvas將微信小程序頁面轉(zhuǎn)為圖片的相關(guān)資料,需要的朋友可以參考下2022-11-11