偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

問(wèn)題來(lái)了!5個(gè)JavaScript問(wèn)答測(cè)試你的技能熟練程度

開(kāi)發(fā) 前端
在此文章中,我們將通過(guò)回答一些JavaScript迷你挑戰(zhàn)來(lái)測(cè)試我們的技能。即使我在每個(gè)問(wèn)題的末尾都給出了解釋并給出答案,也請(qǐng)嘗試自己先找出答案,然后再針對(duì)我的問(wèn)題驗(yàn)證你的答案。

今天,我們將繼續(xù)學(xué)習(xí)我們鐘愛(ài)的JavaScript語(yǔ)言,在此文章中,我們將通過(guò)回答一些JavaScript迷你挑戰(zhàn)來(lái)測(cè)試我們的技能。即使我在每個(gè)問(wèn)題的末尾都給出了解釋并給出答案,也請(qǐng)嘗試自己先找出答案,然后再針對(duì)我的問(wèn)題驗(yàn)證你的答案。

[[331133]]

問(wèn)題1:數(shù)組排序比較

思考以下數(shù)組和條件,你認(rèn)為結(jié)果如何?

問(wèn)題來(lái)了!5個(gè)JavaScript問(wèn)答測(cè)試你的技能熟練程度

答案 

問(wèn)題來(lái)了!5個(gè)JavaScript問(wèn)答測(cè)試你的技能熟練程度

現(xiàn)在我們知道了結(jié)果,讓我們解釋一下原因。對(duì)于前兩個(gè)輸出,說(shuō)明非常簡(jiǎn)單,該sort()方法對(duì)原始數(shù)組進(jìn)行排序并返回對(duì)相同對(duì)象arr1.sort()的引用,因此實(shí)際上是對(duì)相同對(duì)象的引用arr1。

對(duì)于第三個(gè)輸出,arr1.sort() === arr2.sort()即使每個(gè)數(shù)組上的元素相同,=== 也不會(huì)測(cè)試數(shù)組的元素,而是測(cè)試每個(gè)對(duì)象的引用(在這種情況下是不同的),因此返回false。

問(wèn)題2:對(duì)象可變性

對(duì)于這種情況,我想模擬一個(gè)代表作者的對(duì)象以及有關(guān)他的網(wǎng)站的信息。然后,我們使用這個(gè)方法,Object.freeze()以便無(wú)法對(duì)其進(jìn)行更改,并將其進(jìn)行測(cè)試。你認(rèn)為結(jié)果如何?

問(wèn)題來(lái)了!5個(gè)JavaScript問(wèn)答測(cè)試你的技能熟練程度

答案

問(wèn)題來(lái)了!5個(gè)JavaScript問(wèn)答測(cè)試你的技能熟練程度

如果你做對(duì)了,恭喜!如果沒(méi)有,請(qǐng)不要擔(dān)心。讓我們解釋發(fā)生了什么。當(dāng)我們調(diào)用該方法時(shí),Object.freeze()凍結(jié)了對(duì)象,這意味著不能再更改對(duì)象;凍結(jié)對(duì)象可以防止向其添加新屬性,也可以防止現(xiàn)有屬性被刪除或更改。

但是,為什么我們能夠更改對(duì)象?實(shí)際上我們沒(méi)有,這就是竅門。出于各種目的,可變author網(wǎng)站中是對(duì)對(duì)象的引用,并且該引用在整個(gè)代碼中保持不變。我們確實(shí)更改了website對(duì)象內(nèi)部的一個(gè)屬性,但這并沒(méi)有更改對(duì)對(duì)象本身的引用。

如果你想知道如果嘗試更改author對(duì)象的屬性會(huì)發(fā)生什么,那么有兩種可能的答案。讓我們從第一個(gè)開(kāi)始:

問(wèn)題來(lái)了!5個(gè)JavaScript問(wèn)答測(cè)試你的技能熟練程度

在第一種情況下,即使我們更改屬性,name也沒(méi)有真正更改,也沒(méi)有錯(cuò)誤,沒(méi)有警告,就像那行代碼永遠(yuǎn)不會(huì)執(zhí)行一樣。第二種答案是在嚴(yán)格模式下

問(wèn)題來(lái)了!5個(gè)JavaScript問(wèn)答測(cè)試你的技能熟練程度

在嚴(yán)格模式下,如果嘗試修改凍結(jié)的對(duì)象,則會(huì)得到TypeError。比以前好多了。

問(wèn)題3:遞歸

給定以下遞歸函數(shù),當(dāng)我們使用“ blog”作為參數(shù)調(diào)用它時(shí),你認(rèn)為結(jié)果是什么?

問(wèn)題來(lái)了!5個(gè)JavaScript問(wèn)答測(cè)試你的技能熟練程度

答案

問(wèn)題來(lái)了!5個(gè)JavaScript問(wèn)答測(cè)試你的技能熟練程度

對(duì)于這個(gè)問(wèn)題,沒(méi)有技巧,只是遞歸函數(shù)的基本用法,它將繼續(xù)調(diào)用自身,直到字符串中只有一個(gè)元素為止str,在這種情況下,將打印原始字符串的最后一個(gè)字符g。遞歸函數(shù)很重要,并且可以通過(guò)非常有趣的方式解決問(wèn)題,因此理解它們很重要。

問(wèn)題4:范圍

你認(rèn)為控制臺(tái)的輸出是什么,為什么?

問(wèn)題來(lái)了!5個(gè)JavaScript問(wèn)答測(cè)試你的技能熟練程度

答案

問(wèn)題來(lái)了!5個(gè)JavaScript問(wèn)答測(cè)試你的技能熟練程度

但是,如何在封閉函數(shù)的范圍之外b進(jìn)行定義?訣竅是,最多是一個(gè)全局變量。但仍保留在功能的封閉之下。請(qǐng)注意,在嚴(yán)格模式下,這將生成一個(gè)ReferenceError: b is not defined。

問(wèn)題5:有關(guān)閉包的更多信息

以下代碼段是一個(gè)實(shí)際的流行訪談問(wèn)題,問(wèn)題是,你認(rèn)為輸出結(jié)果是什么?

問(wèn)題來(lái)了!5個(gè)JavaScript問(wèn)答測(cè)試你的技能熟練程度

答案

問(wèn)題來(lái)了!5個(gè)JavaScript問(wèn)答測(cè)試你的技能熟練程度

答對(duì)了嗎?這樣做的原因是,在循環(huán)中執(zhí)行的每個(gè)函數(shù)都將在整個(gè)循環(huán)完成后執(zhí)行,因此所有函數(shù)都將引用存儲(chǔ)在中的最后一個(gè)值i,即5。閉包可以通過(guò)為每次迭代創(chuàng)建一個(gè)唯一的作用域,將變量的每個(gè)唯一值存儲(chǔ)在其作用域中來(lái)防止此問(wèn)題,如下所示:

問(wèn)題來(lái)了!5個(gè)JavaScript問(wèn)答測(cè)試你的技能熟練程度

ES2015提供的另一個(gè)選項(xiàng)是使用let代替var:

問(wèn)題來(lái)了!5個(gè)JavaScript問(wèn)答測(cè)試你的技能熟練程度

最后

希望你能像我一樣開(kāi)心并從中學(xué)到東西,這是一篇特別有趣的文章,將來(lái)我可能會(huì)做更多這樣的事情。

責(zé)任編輯:趙寧寧 來(lái)源: 今日頭條
相關(guān)推薦

2020-04-06 12:20:51

Vim文本編輯器Linux

2024-12-09 08:49:01

2020-11-02 00:27:31

云端云計(jì)算機(jī)器學(xué)習(xí)

2020-12-14 06:46:36

shell腳本命令

2020-08-04 08:30:18

JS數(shù)組技巧

2017-06-13 14:30:13

5GQoS網(wǎng)絡(luò)體系結(jié)構(gòu)

2024-05-15 11:42:33

FlutterWeb 庫(kù)應(yīng)用程序

2014-03-04 09:35:45

JavaScript調(diào)試

2020-11-02 15:49:35

機(jī)器學(xué)習(xí)技術(shù)云計(jì)算

2020-06-17 08:12:05

Kubernetes容器

2020-03-05 21:40:49

Javascript前端

2020-03-05 08:58:42

JavaScript語(yǔ)言開(kāi)發(fā)

2020-09-01 13:10:42

JavaScript開(kāi)發(fā) 技巧

2020-04-03 19:21:59

JavaScript編程語(yǔ)言開(kāi)發(fā)

2017-11-06 13:36:05

人工智能AI企業(yè)

2021-01-10 23:36:52

SQL數(shù)據(jù)庫(kù)技術(shù)

2014-02-14 09:16:51

JavaScript工具

2020-06-01 14:33:27

語(yǔ)音技能智能

2020-05-28 10:15:06

語(yǔ)音技能服務(wù)提供

2020-12-02 14:54:41

JavaScript開(kāi)發(fā)技術(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)