JavaScript面试题:一道关于变量提升的题
程序员文章站
2022-06-13 19:06:12
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)组成一个变量对象的属性被创建;如果变量名称跟已经声明的形式参数或函数相同,则变量声明不会干扰已经存在的这类属性。
喎?>上一篇: 测试评估:14种排序算法和PHP数组
下一篇: mysql高可用方案之MMM