javascript 变量提升
来源:互联网 发布:linux查看运行的服务 编辑:程序博客网 时间:2024/06/16 17:19
JavaScript的函数定义有个特点,它会先扫描整个函数体的语句,把所有申明的变量“提升”到函数顶部:
'use strict';function foo() { var x = 'Hello, ' + y; alert(x); var y = 'Bob';}foo();
虽然是strict模式,但语句var x = 'Hello, ' + y;
并不报错,原因是变量y
在稍后申明了。但是alert
显示Hello, undefined
,说明变量y
的值为undefined
。这正是因为JavaScript引擎自动提升了变量y
的声明,但不会提升变量y
的赋值。
对于上述foo()
函数,JavaScript引擎看到的代码相当于:
function foo() { var y; // 提升变量y的申明 var x = 'Hello, ' + y; alert(x); y = 'Bob';}
阅读全文
0 0
- javascript变量声明提升
- javascript 变量/函数 提升
- javascript变量声明提升
- JavaScript变量提升示例
- JavaScript变量提升-Hoisting
- JavaScript变量声明提升
- Javascript变量提升解释
- JavaScript 变量声明提升
- Javascript变量提升(Hoisting)
- javascript变量声明提升
- JavaScript之变量提升
- javaScript的变量提升
- javascript之变量提升
- Javascript变量提升(Hoisting)
- JavaScript 变量提升
- Javascript 变量提升
- JavaScript--变量提升
- javaScript变量提升?
- 剑指offer--栈的压入、弹出序列
- 设计模式初探-抽象工厂模式
- hdu 4059 The Boss on Mars
- 51nod 1238 杜教筛
- 递归——实现汉诺塔问题
- javascript 变量提升
- 自学Unity3D游戏开发(7)
- 如何正确打开华为手机的 USB 调试和 完整 log 功能?
- apk分析工具(aapt.exe)
- Flume使用大全之kafka source-kafka channel-hdfs(SSL加密)
- 弹窗的移动
- 微信小程序的学习过程-1
- C#基础知识点记录
- App接入支付宝