当前位置: 首页 > news >正文

javascript 变量声明有var与无var 的区别

1.在函数作用域内 加var定义的变量是局部变量,不加var定义的就成了全局变量。
使用var定义
var a = 'hello World';
function bb(){
var a = 'hello Bill';
console.log(a); 
}
bb() // 'hello Bill'
console.log(a); // 'hello world'

不使用var定义
var e = 'hello world';
function cc(){
e = 'hello Bill';
console.log(e); // 'hello Bill'
}
cc() // 'hello Bill'
console.log(e) // 'hello Bill'

2.在全局作用域下,使用var定义的变量不可以delete,没有var 定义的变量可以delete.也就隐含说明了全局变量严格来说不是真正的变量,而是全局对象的属性,因为属性可以通过delete删除,而变量不可以。


3.使用var 定义变量还会提升变量声明,即
使用var定义:
function hh(){
console.log(a);
var a = 'hello world';
}
hh() //undefined

不使用var定义:
function hh(){
console.log(a);
a = 'hello world';
}
hh() // 'a is not defined'

这就是使用var定义的变量的声明提前。
4.在ES5的'use strict'模式下,如果变量没有使用var定义,就会报错。

转载于:https://www.cnblogs.com/zsongs/p/5198212.html

相关文章:

  • 我理解的this
  • 自己定义View常处理的回调函数
  • Oracle 建立索引及SQL优化
  • 字符流查看txt文件
  • Java设计和实现方法
  • GitHub-版本控制
  • 安装nginx+lua开发环境
  • POJ2115 C Looooops 模线性方程(扩展欧几里得)
  • 矩阵快速幂,简单粗暴
  • Mysql----浅入浅出之视图、存储过程、触发器
  • 当前端也拥有 Server 的能力
  • GridView中使用 jQuery DatePicker (UpdatePanel)
  • 39.Android版本小知识
  • 适合初学者的理解Sphinx运行方式
  • java--- Map详解
  • hexo+github搭建个人博客
  • 【附node操作实例】redis简明入门系列—字符串类型
  • C# 免费离线人脸识别 2.0 Demo
  • C++11: atomic 头文件
  • Druid 在有赞的实践
  • ECMAScript6(0):ES6简明参考手册
  • ESLint简单操作
  • Python socket服务器端、客户端传送信息
  • Redis字符串类型内部编码剖析
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • Transformer-XL: Unleashing the Potential of Attention Models
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 给Prometheus造假数据的方法
  • 观察者模式实现非直接耦合
  • 计算机常识 - 收藏集 - 掘金
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • ​第20课 在Android Native开发中加入新的C++类
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • #stm32整理(一)flash读写
  • (1)SpringCloud 整合Python
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (算法)N皇后问题
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • (译)2019年前端性能优化清单 — 下篇
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • (转)编辑寄语:因为爱心,所以美丽
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • .NET Project Open Day(2011.11.13)
  • .Net Web项目创建比较不错的参考文章
  • .NET 服务 ServiceController
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • @synthesize和@dynamic分别有什么作用?
  • @test注解_Spring 自定义注解你了解过吗?
  • [ vulhub漏洞复现篇 ] ThinkPHP 5.0.23-Rce
  • [16/N]论得趣
  • [ACM] hdu 1201 18岁生日