码迷,mamicode.com
首页 > 其他好文 > 详细

一道面试题的分析

时间:2018-10-28 16:49:55      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:题目   style   分享图片   报错   五个   一个   分享   cti   提升   

题目:

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不是函数

一道面试题的分析

标签:题目   style   分享图片   报错   五个   一个   分享   cti   提升   

原文地址:https://www.cnblogs.com/mengff/p/9866000.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!