面試系列一:JavaScript / ES6

快來加入咱們吧!

"小和山的菜鳥們",爲前端開發者提供技術相關資訊以及系列基礎文章。爲更好的用戶體驗,請您移至咱們官網小和山的菜鳥們 ( xhs-rookies.com/ ) 進行學習,及時獲取最新文章。javascript

"Code tailor" ,若是您對咱們文章感興趣、或是想提一些建議,微信關注 「小和山的菜鳥們」 公衆號,與咱們取的聯繫,您也能夠在微信上觀看咱們的文章。每個建議或是贊同都是對咱們極大的鼓勵!前端

面試系列不按期更新,請隨時關注java

前言

本篇專欄重點在於講解面試中 JavaScript/ES6 的面試題內容。git

注意: 本篇專欄至只會涉及到重點內容,並不會進行拓展。某些題目須要拓展知識點的,咱們會將拓展內容、總體詳細信息放置於每一個題目的後面,能夠自行查看。github

JavaScript/ES6:

JavaScript/ES6
const 和 let 的區別
基本數據類型有哪幾種
基本數據類型怎麼判斷
typeof null 返回的是什麼,爲何
閉包以及閉包的用法
遍歷的方法有哪些
for..in for..of 二者區別
ES6 有哪些新特性
箭頭函數和普通函數的區別。
什麼是原型鏈
如何使用 Promise
Promise 原理是什麼

題目解析

1、const 和 let 的區別web

  • const 修飾基本類型時不可更改,修飾引用類型(對象,數組)時,其指針所指向的地址不能更改,內部數據可更改。let 修飾任何類型都可修改面試

  • const 聲明後必須初始化,而 let 不須要數組

更多詳情請見:JavaScript 中的 Var,Let 和 Const 有什麼區別promise

2、基本數據類型有哪幾種微信

七大基本數據類型:undefinednullbooleanNumberStringBigIntSymbol

引用數據類型:Object

3、基本數據類型判斷

  • typeof
  • instanceof
  • Object.prototype.toString()

4、typeof null 返回的是什麼,爲何

typeof null 返回的是 Object,這是由於 Object 在底層存儲的低三位機器碼爲 000,而 null 的存儲機器碼爲全 0,因此用 typeof 判斷時會直接判斷爲 Object

注意:問題2、3、四是連續的

更多詳情請見:淺談 typeof 和 instanceof 的原理

5、閉包以及閉包的用法

閉包:可以訪問自由變量的函數(自由變量既不是函數參數,也不在函數內部的變量)

應用場景:

  • 當即執行函數

優勢:

  • 能夠長期存儲變量

缺點:

  • 過多影響內存

更多詳情請見:閉包

6、遍歷的方法有哪些

經常使用的遍歷方法:mapforEachfilterfor...infor...of

7、for...in 和 for...of 的區別

for...in 用來遍歷對象的 key 值和原型鏈上的值

for...of 用來遍歷對象的 value

8、ES6 有哪些新特性

  • letconst

  • 箭頭函數

  • promise

  • asyncawait

  • setmap

  • class

  • Symbol

9、箭頭函數和普通函數的區別

主要區別在於箭頭函數沒有 thisargument

沒有 this 的話

  • 不能做爲構造函數

  • 沒有原型

  • 沒法經過 callbindapply 改變 this 指向

  • 它的 this 永遠指向 它定義時所處的全局執行環境

10、什麼是原型鏈

原型鏈就是由原型經過 proto 鏈接起來組成的鏈狀結構

更多詳情:原型鏈

11、Promise

務必掌握 Promise 經常使用方法,如 thenallraceresolvereject

Promise 的關鍵點在於

  • 三個狀態
  • 鏈式調用

更多詳情:圖解 Promise

下節預告

下節咱們將爲你們帶來 HTML/CSS 的面試題解,敬請期待!

相關文章
相關標籤/搜索