当前位置: 移动技术网 > IT编程>开发语言>JavaScript > JavaScript面试题:一道关于变量提升的题

JavaScript面试题:一道关于变量提升的题

2018年10月10日  | 移动技术网IT编程  | 我要评论
javascript面试题:一道关于变量提升的题 请问打印结果是? a、666 b、undefined c、function a(){}; d、function a(){console.log(&

javascript面试题:一道关于变量提升的题

这里写图片描述

请问打印结果是?

a、666

b、undefined

c、function a(){};

d、function a(){console.log(“a”);};

答案是:<喎? f/ware/vc/"="" target="_blank" class="keylink">vcd4ncjxwpjxpbwcgywx0pq=="这里写图片描述" src="/uploadfile/collfiles/20180622/20180622112139352.png" title="" />

解析:

函数的所有形参(如果我们是在函数执行上下文中)

— 由名称和对应值组成的一个变量对象的属性被创建;没有传递对应参数的话,那么由名称和undefined值组成的一种变量对象的属性也将被创建。

所有函数声明(functiondeclaration, fd)

—由名称和对应值(函数对象(function-object))组成一个变量对象的属性被创建;如果变量对象已经存在相同名称的属性,则完全替换这个属性。

所有变量声明(var, variabledeclaration)

— 由名称和对应值(undefined)组成一个变量对象的属性被创建;如果变量名称跟已经声明的形式参数或函数相同,则变量声明不会干扰已经存在的这类属性。

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网