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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 5個經典的JavaScript面試基礎問題JavaScript面試
- 問一個基礎的用例問題?
- 15個基礎的jQuery面試問題jQuery面試
- 問個Javascript replace 問題JavaScript
- 基礎學習問題
- SQL基礎教程問題SQL
- 問一個基礎問題,幫我理解一下概念
- 分享Java面試中的幾個重要基礎問題!Java面試
- 【基礎】EM 還是 REM?這是一個問題!REM
- 01.Java基礎問題Java
- ios 基礎問題記錄iOS
- 買基金的基礎問題
- C#面試基礎問題C#面試
- vb基礎(列印問題) (轉)
- javascript基礎JavaScript
- JavaScript的基礎知識點(面試題)JavaScript面試題
- Java基礎:初學者容易混淆的幾個問題(轉)Java
- Python基礎面試題30問!Python基礎教程Python面試題
- [基礎問題] 陣列賦值陣列賦值
- [基礎] JavaScript 型別轉換及面試題JavaScript型別面試題
- 2個基礎性問題,但很繞,看都能回答不?
- [javascript]搞清this的指向只需問兩個問題JavaScript
- Javascript基礎之-thisJavaScript
- JavaScript基礎原理JavaScript
- JavaScript基礎10JavaScript
- JavaScript基礎8JavaScript
- JavaScript Promise(基礎)JavaScriptPromise
- JavaScript基礎(一)JavaScript
- JavaScript基礎(二)JavaScript
- JavaScript基礎1JavaScript
- JavaScript基礎2JavaScript
- 10個最常見的JavaScript問題JavaScript
- 【JavaScript】第一個Demo和一個問題JavaScript
- JavaScript 基礎卷(一):基礎語法JavaScript
- 前端基礎入門四(JavaScript基礎)前端JavaScript
- 零基礎學Java,必須要搞懂的10個問題!Java
- 《HTML5+JavaScript動畫基礎》——第2章 動畫的JavaScript基礎2.1動畫基礎HTMLJavaScript動畫
- 面試問題記錄 一 (基礎部分)面試