前言
- 我是小嘟,努力每天分享一道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
打印出来是什么吗?我们下篇文章见,拜拜!!!