每日一道javascript面试题(六)有var和无var

简介: 每日一道javascript面试题(六)有var和无var

前言

  • 我是小嘟,努力每天分享一道javascript相关的题目。
  • 希望对你有所帮助。
  • 觉得有用的话,请点赞支持,你的鼓励是我坚持下去的动力。


题目一

var a = 100;//key1
function number01(){
   console.log(a);//undefined ,打印的是key2处的a
   var a = 10;//key2
   console.log(a);//10
}
number01();
console.log(a);//100


运行结果

代码分析


我们发现,本题中,我们用var’声明了两次变量a,这个题的考点就是变量提升,我们知道var类型的变量会提升,那么提升到哪里呢?

答:提升到当前作用域的顶部,在本题中,我们有全局作用域和函数作用域两部分,函数中的a变量会提升到函数作用域的最顶部,所以在它之前访问则会打印undefined(它是 undefind 类型),其他两个比较简单,小嘟不在多说。

我们在看另一个例子

题目二

var a = 100;
function number02(){
   console.log(a);//100
   a = 10;
   console.log(a);//10
}
number02();
console.log(a);//10

运行结果

代码分析

  • 这个小嘟只提一点:如果没有明确指明某个变量是什么类型,那么它就会被当做全局变量

嘟嘟小课堂

  • 你知道 typeof typeof null 打印出来是什么吗?我们下篇文章见,拜拜!!!
相关文章
|
6天前
|
前端开发 JavaScript
JavaScript新科技:PostCSS的安装和使用,2024年最新2024网易Web前端高级面试题总结
JavaScript新科技:PostCSS的安装和使用,2024年最新2024网易Web前端高级面试题总结
|
6天前
|
前端开发 JavaScript
JavaScript:this-关键字,2024中级前端开发面试解答
JavaScript:this-关键字,2024中级前端开发面试解答
|
6天前
|
前端开发 JavaScript
前端 JS 经典:let、const、var 区别
前端 JS 经典:let、const、var 区别
7 0
|
6天前
|
JSON JavaScript 前端开发
web前端入门到实战:32道常见的js面试题,2024年最新秋招是直接面试吗
web前端入门到实战:32道常见的js面试题,2024年最新秋招是直接面试吗
|
6天前
|
JavaScript 前端开发
web前端JS高阶面试题(1),高级开发工程师面试
web前端JS高阶面试题(1),高级开发工程师面试
|
6天前
|
JSON 前端开发 JavaScript
【JavaScript】面试手撕深拷贝(2),2024年最新nacos面试题及答案
【JavaScript】面试手撕深拷贝(2),2024年最新nacos面试题及答案
【JavaScript】面试手撕深拷贝(2),2024年最新nacos面试题及答案
|
6天前
|
JSON JavaScript 前端开发
【JavaScript】面试手撕深拷贝(1),面试前必看的一本书书籍是什么
【JavaScript】面试手撕深拷贝(1),面试前必看的一本书书籍是什么
|
6天前
|
缓存 前端开发 JavaScript
Javascript模块化开发基础,最新美团点评前端团队面试题
Javascript模块化开发基础,最新美团点评前端团队面试题
|
7天前
|
JavaScript 前端开发 程序员
javascript基础(入门),当上项目经理才知道,推荐程序员面试秘籍
javascript基础(入门),当上项目经理才知道,推荐程序员面试秘籍
|
7天前
|
JavaScript 前端开发
探索JavaScript中的let、const和var:区别与使用场景
探索JavaScript中的let、const和var:区别与使用场景