var是不是es6新增的特性

本篇内容主要讲解“var是不是es6新增的特性”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“var是不是es6新增的特性”吧!

为点军等地区用户提供了全套网页设计制作服务,及点军网站建设行业解决方案。主营业务为成都网站设计、成都做网站、点军网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

var不是es6新增的特性;使用var关键字可以声明一个变量,声明的变量既是全局变量也是顶层变量,可以为其初始化赋值也可以不赋值,初始化赋值其可以是任意类型,不赋值是其为默认值。

本教程操作环境:windows10系统、ECMAScript 6.0版本、Dell G3电脑。

var不是es6新增特性

使用var关键字可以声明一个变量,可以为其初始化赋值也可以不赋值,初始化赋值其可以是任意类型,不赋值是其为默认值undefined,var声明的一般为全局作用域,并添加为window的属性(函数里边声明的除外其为函数作用域)。

var

  • 用var声明的变量既是全局变量也是顶层变量(在浏览器环境顶层对象指的是window对象,在node指的是global对象)

  • 使用var生命的变量存在变量提升的情况

  • 使用var能够对一个变量进行多次声明,后声明的变量会覆盖前面的变量声明

  • 在函数中使用var声明变量的时候,该变量是局部的;如果在函数内不使用var,改变量是全局的

与之相比的是let,let是es6新增的特性

let

  • 是es6新增的命令,用于声明变量

  • 用法类似于var,但是所声明的变量只在let命令所在的代码块内有效,不存在变量提升;只要块级作用域内存在let命令,这个区域就不再受外部影响

  • 使用let声明变量前,该变量都不可用,也就是大家常说的暂时性死区(let不允许在相同作用域中重复声明,因此我们不能在函数内部重新声明参数)

var 声明变量

用开发者工具查看如下图:

var是不是es6新增的特性

var 作用域说明

作用域:在运行时,代码区域中变量、对象、函数及其他资源访问的可见性。JavaScript分为两种类型,全局和局部。与Script 标签同级,可理解为全局,在浏览器中这些称为windows对象,所以使用var 定义的全局变量、函数都是window对象的属性和方法。局部是定义在{}花括号内,如函数内部,定义在局部作用域,一般来说函数外部是不能访问的,但可以通过闭包方式去解决(后续再讲)。

函数localVariable()调用后,内函数内部使用var 声明的变量、对象随之销毁,所以报错:UncaughtReferenceError: userName is not defined

如果在函数内部将var 省略,则为全局变量,示例代码如下:

var是不是es6新增的特性

到此,相信大家对“var是不是es6新增的特性”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


文章标题:var是不是es6新增的特性
分享网址:http://scyanting.com/article/jsoesi.html