[译] 送你 43 道 JavaScript 面试题
學習自(純紀錄自己學了甚麼,非營利)
第三題
1 | const shape = { |
我的答案:
1 20 and 62.83185307179586
正確答案
1 20 and NaN
解析
对于箭头函数,
this
关键字指向是它所在上下文(定义时的位置)的环境,与普通函数不同! 这意味着当我们调用perimeter
时,它不是指向shape
对象,而是指其定义时的环境(window)。没有值radius
属性,返回undefined
。
第五題 (我覺得滿酷的)
1 | const bird = { |
第七題(不會錯的小概念)
1 | let a = 3; |
第12題
1 | function Person(firstName, lastName) { |
答案:
Person {firstName: “Lydia”, lastName: “Hallie”}
and
undefined
解析
new創造構造函數,然後sarah執行函數會定義全局的firstName以及lastName
第16題
詭異的用法
1 | function getPersonInfo(one, two, three) { |
答案
1
2
3 ["", "is", "years old"]
Lydia
21
第25題(小概念)
1 | const obj = { a: "one", b: "two", a: "three" }; |
答案:
{ a: “three”, b: “two” }
第29題
1 | const a = {}; |
答案:
456
解析
利用[??], 記得裡面要設成字符串
1 | const a = {}; |
所以那一題其實是這樣
1 | const a = {}; |
第35題(小概念)
1 | new Boolean(false); // 因為是對象所以為真值 |
第43題
1 | console.log([..."Lydia"];) |
答案:
[“L”, “y”, “d”, “i”, “a”]