JavaScript 变量声明提前
《JavaScript权威指南》中指出:JavaScript变量在声明之前已经可用,JavaScript的这个特性被非正式的称为声明提前(hoisting),即JavaScript函数中声明的所有变量(但不涉及赋值)都被“提前”至函数的顶部。下面我们从实例中看看:
实例1:
var aa = "test";function myFunc(){console.log('aa值为:'+aa);var aa = "TEST";}myFunc();
调用函数myFunc() 打印的结果为 undefined ,因为函数作用域的特性,函数中申明的变量(但不涉及赋值)被“提前”至函数的顶部,所以局部变量在整个函数体始终有效,局部变量aa会覆盖掉全局变量aa,因此打印的结果为 undefined ,其运行过程等价于实例2,如下:
实例2 :
var aa = "test";function myFunc(){var aa;console.log('aa值为:'+aa);aa = "TEST";}myFunc();
运行结果如下:
转载于:https://www.cnblogs.com/Lily-nercel/p/5810979.html
JavaScript 变量声明提前相关推荐
- javascript变量声明 及作用域
javascript变量声明提升(hoisting) http://openwares.net/js/javascript_declaration_hoisting.html 可能要FQ一下 java ...
- js php 变量声明,javascript变量声明实例分析_javascript技巧
本文实例讲述了javascript变量声明的方法.分享给大家供大家参考.具体分析如下: js中使用一个变量之前应当先声明.变量使用关键字var来声明. 如果未在var声明语句中给变量指定初始值,则该变 ...
- javascript变量声明提升(hoisting)
http://openwares.net/js/javascript_declaration_hoisting.html 可能要FQ一下 javascript的变量声明具有hoisting机制,Jav ...
- 谈javascript变量声明
本文同时发表在另一独立博客上http://qingbob.com/blog/%E8%B0%88javascript%E5%8F%98%E9%87%8F%E5%A3%B0%E6%98%8E 这篇文章还是 ...
- JavaScript变量声明+数据类型+数字格式+操作符+进制
文章目录 1.那些高大上的概念术语都是指什么 什么是web应用? 什么是前台后台? 怎么做网页界面呢? JavaScript可以应用到什么上面? 2.JavaScript实例: 3.语言基础 变量声明 ...
- javascript变量声明语法的应用和分号讲究适用性
变量声明语法:var变量名,通常应用在语句的代码当中.在语句ECMAScript中必须与关键字var变量名之间至少有一个空格.(也就是变量名需要遵守一定的规范,至少不应该出现中文;如出现中文那就使语法 ...
- JavaScript 变量声明详解: var, let, const
JavaScript 中,可以声明变量的关键字有 var.let和const. var 使用 var 定义变量,可以保存任何类型的值.若不初始化变量,变量会保存 undefined. 1. 函数级作用 ...
- html5前端开发培训机构,JavaScript变量声明提升
学习路线 第一阶段:网页制作 HTML:常用标签,锚点,列表标签,表单标签,表格标签,标签分类,标签语义化,注释,字符实体 CSS:CSS介绍,全局样式,行内样式,内联样式,选择器,字体样式值,文本样 ...
- Javascript变量声明var和let的区别
作用域: 全局作用域 局部作用域(函数作用域) 块作用域 区别:1.var有变量提升,而let没有:2.let不允许在相同的作用域下重复声明,而var允许:3.let没有暂时性死区问题:4.let创建 ...
- ES5和ES6中的变量声明提升
ES5和ES6中的变量声明提升 Example1: a=2; var a; console.log( a ); //结果为2 Example2: console.log( a ); //结果是unde ...
最新文章
- mount --bind
- Hibernate学习之hibernate状态
- matlab函数输入顺序,求助:在MATLAB里如何输入时间序列中的时间
- 帝国cms7.5百度小程序针对搜索引擎自然搜索优化版生成静态版
- 一年级下册数学计算机应用题,一年级数学下册期中检测试题
- JUnit5 假设示例
- JAVA中堆和栈的区别
- Shape Correspondence and Functional Maps
- python入门心得_python学习心得:如何入门
- java定时统计_java 定时任务每日晚上凌晨执行数据统计
- Kotlin教程,从入门到精通
- 数据库网页搭建教程(一)——数据准备
- win10系统C盘根目录里文件夹都是干什么的
- 虚拟主机终极选购指南
- HEVC预测块(PU)模式划分显示
- 项目人生:成长与感悟
- uni-app 实现微信分享
- nixyx —— 一个小巧的项目工程/编译文件生成器(构建系统?)
- window修改host文件
- linux修改组群名字,Linux用户和组 - 回忆斑斑驳驳的个人空间 - OSCHINA - 中文开源技术交流社区...