每日一道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。

相关文章
|
9天前
|
JavaScript
JS【详解】setTimeout 延时(含清除 setTimeout,计时开始时间,0 秒延时解析,多 setTimeout 执行顺序,setTimeout 应用场景,网红面试题)
JS【详解】setTimeout 延时(含清除 setTimeout,计时开始时间,0 秒延时解析,多 setTimeout 执行顺序,setTimeout 应用场景,网红面试题)
30 0
|
12天前
|
存储 JavaScript 前端开发
面试官:JS中变量定义时内存有什么变化?
面试官:JS中变量定义时内存有什么变化?
13 0
|
12天前
|
JavaScript 前端开发
JS进阶篇(前端面试题整合)(三)
JS进阶篇(前端面试题整合)(三)
13 0
|
2月前
|
JavaScript
分享经典面试题:JS数组去重的多种方法
分享经典面试题:JS数组去重的多种方法
|
2月前
|
JavaScript 前端开发 程序员
web前端入门到实战:32道常见的js面试题(1),面试哪些
web前端入门到实战:32道常见的js面试题(1),面试哪些
|
2月前
|
前端开发 JavaScript
web前端JS高阶面试题,2024我的前端大厂面试之旅
web前端JS高阶面试题,2024我的前端大厂面试之旅
|
2月前
|
JavaScript 前端开发
web前端JS高阶面试题(1),高级开发工程师面试
web前端JS高阶面试题(1),高级开发工程师面试
|
2月前
|
JSON JavaScript 前端开发
web前端入门到实战:32道常见的js面试题,2024年最新秋招是直接面试吗
web前端入门到实战:32道常见的js面试题,2024年最新秋招是直接面试吗
|
2月前
|
JSON 前端开发 JavaScript
【JavaScript】面试手撕深拷贝(2),2024年最新nacos面试题及答案
【JavaScript】面试手撕深拷贝(2),2024年最新nacos面试题及答案
【JavaScript】面试手撕深拷贝(2),2024年最新nacos面试题及答案
|
2月前
|
前端开发 JavaScript
JavaScript新科技:PostCSS的安装和使用,2024年最新2024网易Web前端高级面试题总结
JavaScript新科技:PostCSS的安装和使用,2024年最新2024网易Web前端高级面试题总结