每日一道javascript面试题(一)

简介: 每日一道javascript面试题(一)
// console.log(b);Uncaught ReferenceError: b is not defined
let a = b = 10;//key1
// 这个是一个立即执行函数
(function(){
    let a = b =20;//key2
})()
console.log(a);//10
console.log(b);//20

运行结果:

解析:key1处声明了两个变量,一个是let类型的a变量,一个是全局的b变量(不是var类型,因为如果是var类型的话,它会有变量提升的)。


key2处k也声明了两个变量,一个是let类型的a变量,一个是全局的b变量(因为没有使用var关键字声明)。

综上知,所以我们在里边给b赋值,相对于是给全局的b赋值,所以打印出来b的值为20。let的作用域是块级作用域,只在本作用域起作用,而且还有暂时性死区。

赋值语句是从右往左,也就是先把20赋值给b,然后再赋值给a。

相关文章
|
14天前
|
JavaScript 前端开发
常见的JS面试题
【8月更文挑战第5天】 常见的JS面试题
39 3
|
16天前
|
JavaScript 前端开发 程序员
JS小白请看!一招让你的面试成功率大大提高——规范代码
JS小白请看!一招让你的面试成功率大大提高——规范代码
|
16天前
|
存储 JavaScript 前端开发
JS浅拷贝及面试时手写源码
JS浅拷贝及面试时手写源码
|
16天前
|
JavaScript 前端开发
JS:类型转换(四)从底层逻辑让你搞懂经典面试问题 [ ] == ![ ] ?
JS:类型转换(四)从底层逻辑让你搞懂经典面试问题 [ ] == ![ ] ?
|
27天前
|
缓存 JavaScript 前端开发
js高频面试题,整理好咯
中级前端面试题,不低于12k,整理的是js较高频知识点,可能不够完善,大家有兴趣可以留言补充,我会逐步完善,若发现哪里有错,还请多多斧正。
|
1月前
|
JavaScript
JS【详解】setTimeout 延时(含清除 setTimeout,计时开始时间,0 秒延时解析,多 setTimeout 执行顺序,setTimeout 应用场景,网红面试题)
JS【详解】setTimeout 延时(含清除 setTimeout,计时开始时间,0 秒延时解析,多 setTimeout 执行顺序,setTimeout 应用场景,网红面试题)
71 0
|
1月前
|
存储 JavaScript 前端开发
面试官:JS中变量定义时内存有什么变化?
面试官:JS中变量定义时内存有什么变化?
20 0
|
1月前
|
JavaScript 前端开发
JS进阶篇(前端面试题整合)(三)
JS进阶篇(前端面试题整合)(三)
23 0
|
3月前
|
JavaScript
分享经典面试题:JS数组去重的多种方法
分享经典面试题:JS数组去重的多种方法
|
3月前
|
JavaScript 前端开发 程序员
web前端入门到实战:32道常见的js面试题(1),面试哪些
web前端入门到实战:32道常见的js面试题(1),面试哪些