成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

JavaScript | 計(jì)時(shí)器參數(shù)剖析與真題

Jenny_Tong / 2494人閱讀

摘要:學(xué)堂碼匠計(jì)時(shí)器的第一個(gè)參數(shù),包含幾種不同的書寫方法,可以是函數(shù)名,匿名函數(shù),代碼字符串,還有一些面試題當(dāng)中會(huì)出現(xiàn)函數(shù)調(diào)用的書寫方式。

HTML5學(xué)堂-碼匠:計(jì)時(shí)器的第一個(gè)參數(shù),包含幾種不同的書寫方法,可以是函數(shù)名,匿名函數(shù),JS代碼字符串,還有一些面試題當(dāng)中會(huì)出現(xiàn)“函數(shù)調(diào)用”的書寫方式。

那么,這些不同的書寫方法分別表示什么呢?在計(jì)時(shí)器中出現(xiàn)的第一個(gè)參數(shù),作用域又是在哪里創(chuàng)建的?

計(jì)時(shí)器第一個(gè)參數(shù)的不同寫法 函數(shù)名的書寫方法

這是最為常見(jiàn)的一種書寫方法,該方法表示的是,在固定毫秒之后,將這個(gè)函數(shù)名的函數(shù)添加到執(zhí)行隊(duì)列當(dāng)中,讓其執(zhí)行。

字符串式的書寫方法

當(dāng)一個(gè)函數(shù)有參數(shù)時(shí),很多人會(huì)采用這樣的調(diào)用方法。

Tips:參數(shù)為文字時(shí),可以用單引號(hào)內(nèi)包雙引,或雙引號(hào)內(nèi)包單引的方式書寫。

setTimeout 和 setInterval 都可以接受字符串(作為第一個(gè)參數(shù)),但是并不推薦使用這種書寫方法。原因在于:為了能夠運(yùn)行,會(huì)在代碼執(zhí)行時(shí),將字符串通過(guò)eval方法進(jìn)行轉(zhuǎn)換。

eval方法,其作用就是把字符串當(dāng)做JS去執(zhí)行。eval雖然能夠解決很多問(wèn)題,有很大的作用,但是也廣為詬病,其性能問(wèn)題,安全性問(wèn)題,以及在JS嚴(yán)格模式與非嚴(yán)格模式的不同。

由于這些缺點(diǎn),使得眾多開(kāi)發(fā)者在項(xiàng)目和代碼中,盡量規(guī)避了對(duì)它的使用。

匿名函數(shù)的書寫方法

當(dāng)函數(shù)有參數(shù)要傳遞,而又不能使用字符串式的書寫方法,此時(shí),匿名函數(shù)的書寫方法就派上了用場(chǎng)。

函數(shù)調(diào)用的書寫方法

這種書寫方法,本身是錯(cuò)誤的,幾乎在實(shí)際開(kāi)發(fā)當(dāng)中是無(wú)法找到的。當(dāng)然在偶爾會(huì)在面試當(dāng)中以“坑”的形式出現(xiàn)……

此處第一個(gè)函數(shù)會(huì)在執(zhí)行到計(jì)時(shí)器這行代碼時(shí),立即執(zhí)行,而返回的是h5course函數(shù)的返回值,而非函數(shù)本身。如果函數(shù)返回默認(rèn)返回值undefined,setInterval也不會(huì)報(bào)錯(cuò)。

第一個(gè)參數(shù)的作用域歸屬

計(jì)時(shí)器的第一個(gè)參數(shù),默認(rèn)在全局作用域中執(zhí)行,因此函數(shù)內(nèi)的 this 將會(huì)指向window。

Tips:運(yùn)行結(jié)果為true

Tips:運(yùn)行結(jié)果為true

來(lái)幾道面試真題練練手 如下代碼打印結(jié)果是什么

Tips:答案請(qǐng)見(jiàn)文章底部

碼匠 兩個(gè)字多久會(huì)打印出來(lái)

Tips:答案請(qǐng)見(jiàn)文章底部

請(qǐng)說(shuō)出如下代碼運(yùn)行情況

Tips:答案請(qǐng)見(jiàn)文章底部

總而言之,言而總之

當(dāng)要執(zhí)行的函數(shù)沒(méi)有參數(shù)時(shí),可以直接使用函數(shù)名調(diào)用
當(dāng)需要向回調(diào)函數(shù)中傳遞參數(shù)時(shí),不要使用字符串做參數(shù),使用匿名函數(shù)做參數(shù),并在匿名函數(shù)內(nèi)部執(zhí)行回調(diào)函數(shù)。
第一參數(shù)的函數(shù)會(huì)在全局作用域中進(jìn)行執(zhí)行

三道面試真題的答案

第一題:先輸出10,之后大概1秒后,同時(shí)輸出10個(gè)10。
第二題:約1000毫秒(即約1秒)
第三題:在函數(shù)執(zhí)行時(shí),兩個(gè)li的背景顏色立即被設(shè)置為了紅色,經(jīng)過(guò)大概5000毫秒之后,控制臺(tái)報(bào)錯(cuò)(兩個(gè)錯(cuò)誤),錯(cuò)誤內(nèi)容均為“red is not defined”

開(kāi)開(kāi)心心每一天

生活艱辛,代碼不易,但,不要忘記微笑!

版權(quán)聲明:該圖來(lái)自“【美】莉茲·克里莫 (author)”的書籍《你今天真好看》

梳理JS知識(shí)主干,高效率學(xué)習(xí)JavaScript!

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/88722.html

相關(guān)文章

  • 剖析前端開(kāi)發(fā)中的防抖和節(jié)流

    摘要:運(yùn)用防抖和節(jié)流可以有效降低代碼的執(zhí)行頻率,從而解決高頻率事件的頁(yè)面卡頓問(wèn)題。在階段布局,最終確定顯示的位置和大小。在函數(shù)中,首先定義了一個(gè)空的定時(shí)器變量,用來(lái)計(jì)算時(shí)間間隔。還有一點(diǎn)要注意,在中一定要清楚定時(shí)器,不然會(huì)影響的條件判斷。 啥是節(jié)流? 節(jié)流是保證在一段時(shí)間內(nèi),代碼只執(zhí)行了一次。這個(gè)一段時(shí)間內(nèi)指的是不管用戶操作了幾次,最終僅執(zhí)行一次。比如說(shuō)一個(gè)按鈕,用戶狂點(diǎn)按鈕,但是如果用節(jié)流...

    andong777 評(píng)論0 收藏0
  • 剖析前端開(kāi)發(fā)中的防抖和節(jié)流

    摘要:運(yùn)用防抖和節(jié)流可以有效降低代碼的執(zhí)行頻率,從而解決高頻率事件的頁(yè)面卡頓問(wèn)題。在階段布局,最終確定顯示的位置和大小。在函數(shù)中,首先定義了一個(gè)空的定時(shí)器變量,用來(lái)計(jì)算時(shí)間間隔。還有一點(diǎn)要注意,在中一定要清楚定時(shí)器,不然會(huì)影響的條件判斷。 啥是節(jié)流? 節(jié)流是保證在一段時(shí)間內(nèi),代碼只執(zhí)行了一次。這個(gè)一段時(shí)間內(nèi)指的是不管用戶操作了幾次,最終僅執(zhí)行一次。比如說(shuō)一個(gè)按鈕,用戶狂點(diǎn)按鈕,但是如果用節(jié)流...

    LeexMuller 評(píng)論0 收藏0
  • 講講Python中的函數(shù)傳遞問(wèn)題 【文末送書】

    摘要:文末評(píng)論送書,學(xué)委會(huì)用這個(gè)抽獎(jiǎng)程序來(lái)進(jìn)行嚴(yán)格抽獎(jiǎng),周六晚上點(diǎn)整定時(shí)抽獎(jiǎng)并視頻公布出來(lái),敬請(qǐng)期待。本文講的函數(shù)值傳遞問(wèn)題,是寫程序經(jīng)常遇到,特別的是動(dòng)態(tài)參數(shù)在高級(jí)框架中使用很廣泛。 ...

    luckyw 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<