成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

問題來了!5個JavaScript問答測試你的技能熟練程度

開發 前端
在此文章中,我們將通過回答一些JavaScript迷你挑戰來測試我們的技能。即使我在每個問題的末尾都給出了解釋并給出答案,也請嘗試自己先找出答案,然后再針對我的問題驗證你的答案。

今天,我們將繼續學習我們鐘愛的JavaScript語言,在此文章中,我們將通過回答一些JavaScript迷你挑戰來測試我們的技能。即使我在每個問題的末尾都給出了解釋并給出答案,也請嘗試自己先找出答案,然后再針對我的問題驗證你的答案。

[[331133]]

問題1:數組排序比較

思考以下數組和條件,你認為結果如何?

問題來了!5個JavaScript問答測試你的技能熟練程度

答案 

問題來了!5個JavaScript問答測試你的技能熟練程度

現在我們知道了結果,讓我們解釋一下原因。對于前兩個輸出,說明非常簡單,該sort()方法對原始數組進行排序并返回對相同對象arr1.sort()的引用,因此實際上是對相同對象的引用arr1。

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

問題2:對象可變性

對于這種情況,我想模擬一個代表作者的對象以及有關他的網站的信息。然后,我們使用這個方法,Object.freeze()以便無法對其進行更改,并將其進行測試。你認為結果如何?

問題來了!5個JavaScript問答測試你的技能熟練程度

答案

問題來了!5個JavaScript問答測試你的技能熟練程度

如果你做對了,恭喜!如果沒有,請不要擔心。讓我們解釋發生了什么。當我們調用該方法時,Object.freeze()凍結了對象,這意味著不能再更改對象;凍結對象可以防止向其添加新屬性,也可以防止現有屬性被刪除或更改。

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

如果你想知道如果嘗試更改author對象的屬性會發生什么,那么有兩種可能的答案。讓我們從第一個開始:

問題來了!5個JavaScript問答測試你的技能熟練程度

在第一種情況下,即使我們更改屬性,name也沒有真正更改,也沒有錯誤,沒有警告,就像那行代碼永遠不會執行一樣。第二種答案是在嚴格模式下

問題來了!5個JavaScript問答測試你的技能熟練程度

在嚴格模式下,如果嘗試修改凍結的對象,則會得到TypeError。比以前好多了。

問題3:遞歸

給定以下遞歸函數,當我們使用“ blog”作為參數調用它時,你認為結果是什么?

問題來了!5個JavaScript問答測試你的技能熟練程度

答案

問題來了!5個JavaScript問答測試你的技能熟練程度

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

問題4:范圍

你認為控制臺的輸出是什么,為什么?

問題來了!5個JavaScript問答測試你的技能熟練程度

答案

問題來了!5個JavaScript問答測試你的技能熟練程度

但是,如何在封閉函數的范圍之外b進行定義?訣竅是,最多是一個全局變量。但仍保留在功能的封閉之下。請注意,在嚴格模式下,這將生成一個ReferenceError: b is not defined。

問題5:有關閉包的更多信息

以下代碼段是一個實際的流行訪談問題,問題是,你認為輸出結果是什么?

問題來了!5個JavaScript問答測試你的技能熟練程度

答案

問題來了!5個JavaScript問答測試你的技能熟練程度

答對了嗎?這樣做的原因是,在循環中執行的每個函數都將在整個循環完成后執行,因此所有函數都將引用存儲在中的最后一個值i,即5。閉包可以通過為每次迭代創建一個唯一的作用域,將變量的每個唯一值存儲在其作用域中來防止此問題,如下所示:

問題來了!5個JavaScript問答測試你的技能熟練程度

ES2015提供的另一個選項是使用let代替var:

問題來了!5個JavaScript問答測試你的技能熟練程度

最后

希望你能像我一樣開心并從中學到東西,這是一篇特別有趣的文章,將來我可能會做更多這樣的事情。

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2020-04-06 12:20:51

Vim文本編輯器Linux

2024-12-09 08:49:01

2020-11-02 00:27:31

云端云計算機器學習

2020-12-14 06:46:36

shell腳本命令

2017-06-13 14:30:13

5GQoS網絡體系結構

2020-08-04 08:30:18

JS數組技巧

2024-05-15 11:42:33

FlutterWeb 庫應用程序

2014-03-04 09:35:45

JavaScript調試

2020-11-02 15:49:35

機器學習技術云計算

2020-03-05 21:40:49

Javascript前端

2020-06-17 08:12:05

Kubernetes容器

2020-03-05 08:58:42

JavaScript語言開發

2020-09-01 13:10:42

JavaScript開發 技巧

2020-04-03 19:21:59

JavaScript編程語言開發

2017-11-06 13:36:05

人工智能AI企業

2014-02-14 09:16:51

JavaScript工具

2020-06-01 14:33:27

語音技能智能

2020-05-28 10:15:06

語音技能服務提供

2021-01-10 23:36:52

SQL數據庫技術

2017-04-21 14:06:42

開發程序員編程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美成人自拍 | 成人免费一区二区三区牛牛 | av中文字幕网 | 国产成人jvid在线播放 | 欧美一级在线免费 | 欧美色成人 | 亚洲国产精品久久久久 | 91久久国产综合久久 | 天天弄天天操 | 精品一区二区三区在线观看国产 | av国产精品毛片一区二区小说 | 亚洲天堂成人在线视频 | 色噜噜亚洲男人的天堂 | 久久久爽爽爽美女图片 | 国产精品久久久久久久久久妇女 | 久久综合一区二区三区 | 午夜在线电影网 | 毛片a级毛片免费播放100 | 精品欧美一区二区精品久久 | 欧美日韩久久久久 | 毛片a级| 91精品一区二区三区久久久久 | www四虎影视 | 狠狠的操 | 亚洲五码久久 | 欧美狠狠操 | 综合视频在线 | 久草资源在线 | 欧美精品一区二区三区蜜桃视频 | 亚洲精品久久久久中文字幕二区 | 在线一区二区三区 | 国产精品成人一区 | 欧美色图另类 | 国内av在线 | ww 255hh 在线观看 | 亚洲手机在线 | 99视频 | 一级片网站视频 | 大学生a级毛片免费视频 | av在线播放网 | 国产日韩亚洲欧美 |