155個JavaScript基礎問題(1-5)
1. 輸出是什麼?
function sayHi() {
console.log(name)
console.log(age)
var name = 'Lydia'
let age = 21
}
sayHi()
複製程式碼
答案是:undefined和報錯 因為var 定義的變數具有變數提升的效果,但是僅僅是變數宣告的提升,並未進行賦值,所以是undefined,let定義的變數不具備變數提升的效果,所以是報錯的。
2. 輸出是什麼?
for (var i = 0; i 3; i++) {
setTimeout(() => console.log(i), 1)
}
for (let i = 0; i 3; i++) {
setTimeout(() => console.log(i), 1)
}
複製程式碼
答案是:333 和 012,因為JS的事件迴圈機制,setTimeout屬於宏任務,要等到同步程式碼執行完之後才能執行,var在此處定義的是全域性變數,因此同步程式碼執行完之後i已經變成了3,所以列印3個3,但是let定義的變數會形成一個塊級作用域,因此是0 1 2
3. 輸出是什麼?
const shape = {
radius: 10,
diameter() {
return this.radius * 2
},
perimeter: () => 2 * Math.PI * this.radius
}
shape.diameter()
shape.perimeter()
複製程式碼
答:輸出是20和NaN,因為diameter中的this指的是shape中的radius,但是perimeter由於是箭頭函式所以,當我們呼叫 perimeter 時,this 不是指向 shape 物件,而是它的周圍作用域(在例子中是 window)。
4. 輸出是什麼?
+true;
!"Lydia";
複製程式碼
解:+號會將true變為1,+號傾向於返回一個值,但是!傾向於返回一個布林值,因為"Lydia"是真實存在的,所以取反之後是false。
5. 哪一個是正確的?
const bird = {
size: 'small'
}
const mouse = {
name: 'Mickey',
small: true
}
複製程式碼
答案:A,因為mouse透過點的形式呼叫bird的前提是mouse有這個屬性,但是它沒有,所以是無效的,但是bird.size是真實存在的,透過[]呼叫裡面存放的是small這個字串,這個和C選項是一樣的,同理說明D的說法是不對的,所以本題選A。
作者:Always_positive
連結:
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4479/viewspace-2797250/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【基礎】EM 還是 REM?這是一個問題!REM
- javascript基礎JavaScript
- 01.Java基礎問題Java
- ios 基礎問題記錄iOS
- Python基礎面試題30問!Python基礎教程Python面試題
- 分享Java面試中的幾個重要基礎問題!Java面試
- 10個最常見的JavaScript問題JavaScript
- JavaScript基礎2JavaScript
- JavaScript基礎1JavaScript
- JavaScript基礎8JavaScript
- JavaScript基礎10JavaScript
- JavaScript基礎原理JavaScript
- Javascript基礎之-thisJavaScript
- JavaScript Promise(基礎)JavaScriptPromise
- JavaScript 基礎卷(一):基礎語法JavaScript
- 前端基礎入門四(JavaScript基礎)前端JavaScript
- 2019 JavaScript面試題詳解(基礎+進階)JavaScript面試題
- [基礎] JavaScript 型別轉換及面試題JavaScript型別面試題
- 問一個很基礎小白的問題,類與函式的關係。RT函式
- 零基礎學Java,必須要搞懂的10個問題!Java
- 前面基礎問題小總結(二)
- 基礎問題:進位制轉換
- 【c++基礎】菱形繼承問題C++繼承
- 01.Android之基礎元件問題Android元件
- Python和JavaScript哪個容易上手?0基礎必看!PythonJavaScript
- javaScript基礎講解JavaScript
- JavaScript入門基礎JavaScript
- JavaScript基礎筆記JavaScript筆記
- JavaScript 基礎語法JavaScript
- JavaScript WebGL 基礎概念JavaScriptWeb
- javascript基礎知識JavaScript
- Javascript基礎之-PromiseJavaScriptPromise
- JavaScript基礎總結JavaScript
- JavaScript基礎(一)概述JavaScript
- 【Javascript 基礎】原型鏈JavaScript原型
- 26個精選的JavaScript面試問題JavaScript面試
- 面試問題記錄 一 (基礎部分)面試
- AI基礎:美女和野人過河問題AI