快来加入我们吧!
"小和山的菜鸟们",为前端开发者提供技术相关资讯以及系列基础文章。为更好的用户体验,请您移至我们官网小和山的菜鸟们 ( https://xhs-rookies.com/ ) 进行学习,及时获取最新文章。
"Code tailor" ,如果您对我们文章感兴趣、或是想提一些建议,微信关注 “小和山的菜鸟们” 公众号,与我们取的联系,您也可以在微信上观看我们的文章。每一个建议或是赞同都是对我们极大的鼓励!
面试系列不定期更新,请随时关注
前言
本篇专栏重点在于讲解面试中 JavaScript/ES6 的面试题内容。
注意: 本篇专栏至只会涉及到重点内容,并不会进行拓展。某些题目需要拓展知识点的,我们会将拓展内容、整体详细信息放置于每个题目的后面,可以自行查看。
JavaScript/ES6:
JavaScript/ES6 |
---|
const 和 let 的区别 |
基本数据类型有哪几种 |
基本数据类型怎么判断 |
typeof null 返回的是什么,为什么 |
闭包以及闭包的用法 |
遍历的方法有哪些 |
for..in for..of 两者区别 |
ES6 有哪些新特性 |
箭头函数和普通函数的区别。 |
什么是原型链 |
如何使用 Promise |
Promise 原理是什么 |
题目解析
一、const 和 let 的区别
const
修饰基本类型时不可更改,修饰引用类型(对象,数组)时,其指针所指向的地址不能更改,内部数据可更改。let
修饰任何类型均可修改const
声明后必须初始化,而let
不需要
更多详情请见:JavaScript 中的 Var,Let 和 Const 有什么区别
二、基本数据类型有哪几种
七大基本数据类型:undefined
、 null
、 boolean
、 Number
、 String
、 BigInt
、 Symbol
引用数据类型:Object
三、基本数据类型判断
typeof
instanceof
Object.prototype.toString()
四、typeof null 返回的是什么,为什么
typeof null
返回的是 Object
,这是因为 Object
在底层存储的低三位机器码为 000
,而 null
的存储机器码为全 0
,所以用 typeof
判断时会直接判断为 Object
注意:问题二、三、四是连续的
更多详情请见:浅谈 typeof 和 instanceof 的原理
五、闭包以及闭包的用法
闭包:能够访问自由变量的函数(自由变量既不是函数参数,也不在函数内部的变量)
应用场景:
- 立即执行函数
优点:
- 可以长期存储变量
缺点:
- 过多影响内存
更多详情请见:闭包
六、遍历的方法有哪些
常用的遍历方法:map
、forEach
、filter
、for...in
、for...of
七、for...in 和 for...of 的区别
for...in
用来遍历对象的 key
值和原型链上的值
for...of
用来遍历对象的 value
值
八、ES6 有哪些新特性
let
、const
- 箭头函数
promise
async
和await
set
、map
class
Symbol
九、箭头函数和普通函数的区别
主要区别在于箭头函数没有 this
和 argument
没有 this 的话
- 不能作为构造函数
- 没有原型
- 无法通过
call
、bind
、apply
改变this
指向 - 它的
this
永远指向 它定义时所处的全局执行环境
十、什么是原型链
原型链就是由原型通过 proto 连接起来组成的链状结构
更多详情:原型链
十一、Promise
务必掌握 Promise
常用方法,如 then
,all
,race
,resolve
,reject
Promise
的关键点在于
- 三个状态
- 链式调用
更多详情:图解 Promise
下节预告
下节我们将为大家带来 HTML/CSS
的面试题解,敬请期待!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。