一道面试题的分析
Posted mengff
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一道面试题的分析相关的知识,希望对你有一定的参考价值。
题目:
console.log(a); var a=1; console.log(a); function a(){console.log(2);} console.log(a); var a=3; console.log(a); function a(){console.log(4);} console.log(a); a();
运行结果:
分析:
题目中有多个变量声明和函数声明,都会提升,而函数的优先级高于变量,两个函数声明,后面的高于前面的,所以第一个a是
f a(){console.log(4)}
var a = 1,执行到此,a被赋值为1,第二,第三个a都是1,中间的函数声明已经提升过,在此处不会再执行,没有任何影响。
var a = 3,同理,后面的第四,第五个a都是3。
由于a被赋值为3,第六个a(),已经无法执行,报错,a不是函数
以上是关于一道面试题的分析的主要内容,如果未能解决你的问题,请参考以下文章