進來做幾道 JavaScript 基礎題找找自信?


大家好,我是若川。持續組織了8個月源碼共讀活動,感興趣的可以?點此加我微信ruochuan12?參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》?包含20余篇源碼文章。歷史面試系列。另外:目前建有江西|湖南|湖北籍前端群,可加我微信進群。


天天推送各種框架和庫的,看起來也挺累的。。。今天放松一下,做幾道 JavaScript 基礎題找找自信吧!

可以先投票做題,然后翻到后面看答案。

第1題 — 原型

function?Animal(){?this.type?=?"animal"
}function?Dog(){?this.name?=?"dog"
}Dog.prototype?=?new?Animal()var?PavlovPet?=?new?Dog();?console.log(PavlovPet.__proto__?===?Dog.prototype)
console.log(Dog.prototype.__proto__?===?Animal.prototype)

console.log 打印出的值是?

第2題 — 小心“排序”

var?arr?=?[5,?22,?14,?9];console.log(arr.sort());

console.log 打印出的值是?

第3題 — 異步循環

for?(let?i?=?0;?i?<?3;?i++)?{const?log?=?()?=>?{console.log(i)}setTimeout(log,?100)
}

console.log 打印出的值是?

第4題 — numbers里面有啥?

const?length?=?4
const?numbers?=?[]
for?(var?i?=?0;?i?<?length;?i++);{numbers.push(i?+?1)
}console.log(numbers)

console.log 打印出的值是?

第5題 — 長度為0

const?clothes?=?['shirt',?'socks',?'jacket',?'pants',?'hat']
clothes.length?=?0console.log(clothes[3])

console.log 打印出的值是?

第6題 — 變量定義

var?a?=?1
function?output?()?{console.log(a)var?a?=?2console.log(a)
}
console.log(a)
output()
console.log(a)

console.log 打印出的值是?

第7題 — 找到值了嗎

function?foo()?{let?a?=?b?=?0a++return?a
}foo()
console.log(typeof?a)
console.log(typeof?b)

console.log 打印出的值是?

第8題 — 類型轉換

console.log(+true)
console.log(!"ConardLi")

console.log 打印出的值是?

第9題 — ESM

//?module.js?
export?default?()?=>?"Hello?world"
export?const?name?=?"c"//?index.js?
import?*?as?data?from?"./module"console.log(data)

console.log 打印出的值是?

第10題 — 對象做 key

const?a?=?{};
const?b?=?{?key:?"b"?};
const?c?=?{?key:?"c"?};a[b]?=?123;
a[c]?=?456;console.log(a[b]);

console.log 打印出的值是?

答案 - 第1題

把原型的基礎知識記清楚這道題就錯不了:

所有的對象都有 [[prototype]] 屬性(通過 _proto_ 訪問),該屬性對應對象的原型;所有的函數對象都有 prototype 屬性,該屬性的值會被賦值給該函數創建的對象的 _proto_ 屬性。

答案是:

true
true

答案 - 第2題

抱歉,答案不是 [5, 9, 14, 22] 。如果不傳入排序函數,sort 函數會將每個元素轉換成字符串,然后根據它們的 UTF-16 值排序。

答案是:

[14,?22,?5,?9]

答案 - 第3題

這題我會,因為:

定時器是異步執行,瀏覽器會優先執行同步任務,在遇到定時器時會先把它們暫存在一個宏任務隊列中,待當前宏任務隊列的所有任務執行完畢后才會去執行隊列中的任務,此時循環已執行完畢,i 已經是 3。

所以答案是:

0
1
2

哎不對?答案為啥不是 3、3、3

因為循環里的 i 是用 let 聲明的,而不是用 var 聲明的!

let 聲明的變量擁有塊級作用域。即在 for 循環或 if 中用 let 定義變量,在外面是訪問不到的。

形如 for (let i...) 的循環在每次迭代時都為 i 創建一個新變量,并以之前迭代中同名變量的值將其初始化,所以上面的代碼實際上相當于:

for?(let?i?=?0)?{const?log?=?()?=>?{console.log(i)}setTimeout(log,?100)
}
for?(let?i?=?1)?{const?log?=?()?=>?{console.log(i)}setTimeout(log,?100)
}
for?(let?i?=?2)?{const?log?=?()?=>?{console.log(i)}setTimeout(log,?100)
}

答案 - 第4題

要看仔細啊,看到小括號和大括號之間有個嗎?

答案是:

[5]

答案 - 第5題

將數組的長度賦值為 0 就相當于從數組中刪除所有元素。

答案是:

undefined

答案 - 第6題

  • 第一個輸出:全局的 var a

  • 第二個輸出:output 函數中聲明的 var a變量提升,還未賦值

  • 第三個輸出:output 函數局部作用域的 a 已賦值

  • 第四輸出:全局的 var a 沒有變

答案是:

1
undefined
2
1

答案 - 第7題

let a 是一個局部變量。typeof a 檢查的是未聲明的變量。

b 是個全局變量,它在 foo 函數中被賦值。

答案是:

undefined
number

答案 - 第8題

+ 運算符首先會嘗試將 boolean 類型轉換為數字類型,true 被轉換為 1false 被轉換為 0

字符串 'ConardLi' 是一個真值,所以 !'ConardLi' 為 false。

答案是:

1
false

答案 - 第9題

考察下你對 ES Module 的認識

答案是:

{?default:?function?default(),?name:?"c"?}

答案 - 第10題

對象能做對象的 key 嗎?當然不能,兩次賦值實際上是:

a["Object?object"]?=?123;
a["Object?object"]?=?456;

答案是:

456

怎么樣,找到自信了嗎?💯💯💯 全對的來這里集合!!!

09fdc6a296e5544b72ea1cd2d8d2ccbd.gif

·················?若川簡介?·················

你好,我是若川,畢業于江西高校。現在是一名前端開發“工程師”。寫有《學習源碼整體架構系列》20余篇,在知乎、掘金收獲超百萬閱讀。
從2014年起,每年都會寫一篇年度總結,已經堅持寫了8年,點擊查看年度總結。
同時,最近組織了源碼共讀活動,幫助4000+前端人學會看源碼。公眾號愿景:幫助5年內前端人走向前列。

754ef0ac274811b0eb5519a1bc0323b0.png

掃碼加我微信 ruochuan02、拉你進源碼共讀

今日話題

目前建有江西|湖南|湖北?籍 前端群,想進群的可以加我微信 ruochuan12?進群。分享、收藏、點贊、在看我的文章就是對我最大的支持~

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/274691.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/274691.shtml
英文地址,請注明出處:http://en.pswp.cn/news/274691.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

人物肖像速寫_驕傲家庭:肖像項目

人物肖像速寫2020 has been a solemn, transformative year. Pride month takes place in the context of a groundswell up-rising against racism and police brutality and in the continued isolation of COVID-19.2020年是莊嚴&#xff0c;變革的一年。 驕傲月的發生是在反…

答讀者問:錢和成長,哪個更重要?

大家好&#xff0c;我是若川。持續組織了8個月源碼共讀活動&#xff0c;感興趣的可以 點此加我微信ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列。另外…

ui設計顏色的使用_UI設計中顏色使用的10條原則

ui設計顏色的使用重點 (Top highlight)1.顏色術語 (1. Color Terminology) Color terminology forms our foundation of color knowledge. Think of color terms like hue, tint, and shade as tools that we can employ to develop unique color palettes.顏色術語構成了我們顏…

Chrome插件:網易云音樂聽歌識曲

大家好&#xff0c;我是若川。持續組織了8個月源碼共讀活動&#xff0c;感興趣的可以 點此加我微信ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列。另外…

五大常用算法之四:回溯法

1、概念 回溯算法實際上一個類似枚舉的搜索嘗試過程&#xff0c;主要是在搜索嘗試過程中尋找問題的解&#xff0c;當發現已不滿足求解條件時&#xff0c;就“回溯”返回&#xff0c;嘗試別的路徑。 回溯法是一種選優搜索法&#xff0c;按選優條件向前搜索&#xff0c;以達到目標…

如何設置ad18捕捉圖標_圖標設計中的像素捕捉

如何設置ad18捕捉圖標More in the iconography series:? Foundations of Iconography? 7 Principles of Icon Design? 5 Ways to Create a Settings Icon? Icon Grids & Keylines Demystified? 3 Classic Icon FamiliesWe all want our designs to display sharp on a…

React Hooks 原理與最佳實踐

大家好&#xff0c;我是若川。持續組織了8個月源碼共讀活動&#xff0c;感興趣的可以 點此加我微信ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列。另外…

BW:BW增量更新方法(假增量)

1 說說假增量 我們都知道&#xff0c;對于BW來說&#xff0c;很多ECC的標準數據源自帶了增量更新功能&#xff0c;每天各種憑證產生的增量數據會自動堆積到增量隊列里&#xff0c;然后BW端做一個增量信息包按天把這些增量抽取到數據倉庫里&#xff0c;非常輕松自然&#xff0c;…

插圖 引用 同一行兩個插圖_為什么插圖是產品的重要組成部分

插圖 引用 同一行兩個插圖“Hi, my name is Ludmila and I’m a UX/UI designer”“嗨&#xff0c;我叫Ludmila&#xff0c;我是UX / UI設計師” “Hi, Ludmila”“嗨&#xff0c;路德米拉” “Welcome”“歡迎” Not anonymously at all, I’ve been doing UX/UI design fo…

如果是你你會如何重新設計和定義維基百科(wikipedia)?

日期&#xff1a;2012-8-11 來源&#xff1a;GBin1.com 最近一家設計公司發布了一個關于如何重新定義和設計維基百科的網站&#xff0c;在這里網站里詳細的刨析了如何重新設計維基百科的話&#xff0c;如何做品牌設計和網站設計&#xff0c;整個設計過程都使用非常詳細的文檔說…

祖父元素_幫助祖父母建立Skype帳戶的UX經驗教訓

祖父元素“Empathy is a key part of a UX designers arsenal”, they say. It’s drilled into our heads that we need to be thinking about our user, about their journey, about what works best for them. And it does feel empowering to boast of empathy, inside vis…

ECSHOP批量添加商品到購物車

Ecshop是一款開源的網上商店系統&#xff0c;在我心目中可以算得上網上商城界的Wordpress了。 本文介紹如何實現在ecshop中批量添加商品到購物車。 大家都知道&#xff0c;默認的ecshop只能單件點擊“添加到購物車”&#xff08;Add to Cart&#xff09;實現一件一件的添加商品…

2022年CSS的發展如何?

大家好&#xff0c;我是若川。持續組織了8個月源碼共讀活動&#xff0c;感興趣的可以 點此加我微信ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列。另外…

分布式實物實現方式_這是您完成實物產品設計任務的方式

分布式實物實現方式You’ve come to the last stages of an interview. There’s only one thing left to do: the dreaded take home design assignment.您已經到達面試的最后階段。 只剩下一件事要做&#xff1a; 可怕的帶回家的設計任務。 This is the hard part of any in…

TP-Link路由器下的多種接入模式

無線AP&#xff1a;把LAN轉成WLAN 客戶端&#xff1a;把WLAN轉成LAN 中繼&#xff1a;簡單放大上一個無線路由器的WLAN信號&#xff0c;SSID與上一個無線路由器一樣 橋接&#xff1a;與上一個無線路由器的WLAN信號連接&#xff0c;SSID與上一個無線路由器不同&#xff0c;又叫W…

type 和 interface 傻傻分不清楚?

大家好&#xff0c;我是若川。持續組織了8個月源碼共讀活動&#xff0c;感興趣的可以 點此加我微信ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列。另外…

上帝公式_感謝上帝的空白

上帝公式Do you ever walk into a room cluttered with discarded papers and leftover takeout and feel comfortable?您是否曾經走進過亂七八糟的房間&#xff1f; Yes, you might if you’re a sophomore at college. That’s just dorm life. Back in the late 90’s to …

POJ 1325 Machine Schedule(二分圖最小點集覆蓋)

題目鏈接&#xff1a;http://poj.org/problem?id1325 題意&#xff1a;A機器有n個模式&#xff0c;B機器有m個模式&#xff0c;有k個任務&#xff0c;第i個任務可以用A機器的ai模式或者B機器的bi模式&#xff0c;換模式需要重啟&#xff0c;開始兩個機器都在模式0&#xff0c;…

figma下載_在Figma上進行原型制作的各種觸發選項

figma下載Prototypes are model versions of digital products. They’re used to measure usability by testing with potential users of a product. When making prototypes with Figma, it is necessary that the actions that trigger reactions aren’t strangers and th…

通過動畫讓你深入理解 ES modules

大家好&#xff0c;我是若川。持續組織了8個月源碼共讀活動&#xff0c;感興趣的可以 點此加我微信ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列。另外…