JavaScript变量的声明

变量是用来存储数据的容器,在JavaScript中变量是松散类型,松散类型的变量可以用来保存任意类型的数据。在ECMAScript6之前JavaScript变量只能使用var和function来声明,在后来的ECMAScript6中又添加了let、const、import、Class这几种。不同的声明方式作用域等都不同。所谓作用域就是指变量的有效范围,比如只在某个方法内有效,出了这个方法变量声明就无效被销毁了。

var:
实现方式:
var a;
var b = 0;
对于var a;这种声明方式,如果我们打印a:console.log(a)得到的结果是undefined,因为它是没有初始值的。而var b = 0;这样的声明 会给b变量赋值一个初始值:0,如果在var b = 0;这句语句之后打印b得到的就是初始值0。注:如果你在var b = 0;这句语句之前打印b结果就会不一样,这涉及到JavaScript的执行顺序和变量的提升,这块后面再讲。

function:
function用于函数声明,就是我们经常说的方法的声明。
实现方式:
function fn() = {};
function声明也会涉及到函数提升,并且函数提升优先于变量提升。

let:
let声明类似于var声明,但是与var声明有一个大的不同点:let声明的变量只在let所在的代码快内有效。
所说的代码块其实就是作用域,在ECMAScript6之前只存在函数作用域与全局作用域,ECMAScript6添加了块级作用域,用{}来表示。如果如下用let声明变量a:
{
let a;
}
a就只在{}内有效,出了{}就无效了。并且let声明不存在变量提升,基于let的这些特点,let声明比较适用于for循环。
let不允许在同一个作用域内重复声明同一个变量,否则报错。而var声明却无此影响,var可以在用一个作用域内对同一个变量重复声明。

const:
const声明一个只读的常量,一旦声明,常量的值就不能改变,和Java中的final类似。并且不同于var等声明,const在声明的同时必须立即初始化。
实现方式:
const API;
const声明之后不允许改变变量的值,与let一样也不允许重复声明,也不存在变量提升。

import:
import的作用是将某个模块中导出的函数、对象或初始值移入到另一个模块中的语法。
实现方式:
import {模块名称} from “需要导入模块”

Class:
class的概念是ES6中引入的,可以通过class来创建对象。
实现方式:
class Person{
constructor(name){
this.name = name;
}
}
对于class我们暂时先做了解,后面还会继续深入学习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值