怎么在JavaScript中使用匿名函數(shù)?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
在成都做網(wǎng)站、網(wǎng)站建設(shè)過程中,需要針對客戶的行業(yè)特點、產(chǎn)品特性、目標(biāo)受眾和市場情況進(jìn)行定位分析,以確定網(wǎng)站的風(fēng)格、色彩、版式、交互等方面的設(shè)計方向。成都創(chuàng)新互聯(lián)公司還需要根據(jù)客戶的需求進(jìn)行功能模塊的開發(fā)和設(shè)計,包括內(nèi)容管理、前臺展示、用戶權(quán)限管理、數(shù)據(jù)統(tǒng)計和安全保護(hù)等功能。
一般函數(shù):
function show1(name){ alert(name); //打印:zhangsan } show1("zhangsan");
匿名函數(shù):
var show2 = function (name) { alert(name); //打印:張三 } show2("張三");
上面2種定義函數(shù)的區(qū)別:
1.我們知道所有的function都會在window對象里
function show1(name){ alert(name); //打印:張三 } window.show1("張三");
即使在函數(shù)定義之前調(diào)用
window.show1("張三"); function show1(name){ alert(name); //打印:張三 }
這是因為這種”有名字”的函數(shù)在JS引擎初始化的時候就加載到作用域里面
2.如果是匿名函數(shù)
window.show2("李四"); var show2 = function (name) { alert(name); //打印:李四 }
控制臺會打?。篢ypeError: window.show2 is not a function
二、如果我們需要合并上面2個函數(shù)
<script> function show(name) { return function () { alert(name); //內(nèi)部函數(shù)是可以調(diào)用外層的變量的 } } show("王五"); </script>
猜猜會打印什么?什么也沒有,也不會報錯。這是因為執(zhí)行show()只是返回了一個函數(shù)本身,并沒有執(zhí)行這個函數(shù)。
show("王五")();
這樣執(zhí)行,就打印:王五
如果里面的函數(shù)也要傳入變量
<script> function show(name) { return function (age) { alert(name); //打印:王五 alert(age); //打印:18 } } show("王五")(18); </script>
<script> function show(name) { return function (name) { alert(name); } } show("王五")(18); </script>
猜猜是打印“王五”還是“18”?只會打印“18”。
三、匿名函數(shù)的自執(zhí)行
<script> (function (name) { alert(name); //打印:哈哈 })("哈哈") </script>
以上是推薦的寫法。
其他寫法:
-function (name) { alert(name); //打印:哈哈 }("哈哈")
+function (name) { alert(name); //打印:哈哈 }("哈哈")
!function (name) { alert(name); //打印:哈哈 }("哈哈")
[function (name) { alert(name); //打印:哈哈 }("哈哈")]
new function (name) { alert(name); //打印:哈哈 }("哈哈")
~function (name) { alert(name); //打印:哈哈 }("哈哈")
void function (name) { alert(name); //打印:哈哈 }("哈哈")
看完上述內(nèi)容,你們掌握怎么在JavaScript中使用匿名函數(shù)的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)站名稱:怎么在JavaScript中使用匿名函數(shù)
分享路徑:http://aaarwkj.com/article42/igjdhc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗、Google、營銷型網(wǎng)站建設(shè)、網(wǎng)站排名、虛擬主機(jī)、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)