变量声明提前
来源:互联网 发布:中国十大功勋程序员 编辑:程序博客网 时间:2024/06/09 14:57
有一次,去一家公司面试前端。公司的笔试中有这样一道题:
var word =“hello”;
function test(){
console.log(word); //第一次输出
var word = “hello xiaoming”;
console.log(word); //第二次输出
}
上面函数输出的结果是?
我当时给的答案是hello hello xiaoming ,后来面试我的那个人给我指出了我的错误
正确的答案是: undefined hello xiaoming
原因如下:
javascript的函数作用域是指函数内声明的所有变量在函数体内始终可见,这意味着变量在声明之前已经是可用的。
函数里的局部变量回覆盖全局变量word,当javascript执行到第一次输出 相当于只是在函数中声明了局部变量word并没有赋值,没有赋值的变量默认的是undefined 第一次输出的是undefined ,当javascript执行到第二次输出时,给word 进行了赋值word =hello xiaoming,所以第二次输出的是hello xiaoming
0 0
- 变量声明提前
- JavaScript 变量声明提前
- js 变量声明提前
- 变量声明提前和函数声明提前
- 变量声明提前 总结 js
- js 变量声明(显隐声明,声明提前)
- javscript函数内变量声明提前
- 声明提前
- JavaScript 中对变量和函数声明提前的示例
- javascript的变量及其作用域和提前声明
- JavaScript 函数和变量声明的"提前"(hoist)行为
- js中变量的函数作用域和声明提前
- JavaScript中对变量和函数声明的提前
- JavaScript 中对变量和函数声明的“提前”
- javascript小记——变量和函数的声明提前
- javascript函数作用域和变量声明提前(variable hoisting)
- JavaScript 中对变量和函数声明的“提前”
- JavaScript之变量作用域与声明提前
- java---网络知识点---TCP三次握手连接 断开四次挥手
- 开始
- 正则表达式记录
- lightoj 1200 - Thief 完全背包
- Javascript极简主义法定义类
- 变量声明提前
- IDEA -- idea无法导入HttpServlet包解决方法
- 将图片转成base64
- Rstudio常用快捷键
- 《C++ 笔记》 Part2 浅析extern的作用
- R语言snow包并行计算
- 从IRQ到IRQL(PIC版)
- Spring中依赖配置的深入理解
- 数据库中主键与外间的区别