JavaScript中的变量、关键字、保留字

一、变量

        JavaScript中的变量是松散类型的,也就是可以用来保留任何类型的数据。定义变量时要是用var或let操作符,如下所示:

var a=1;
let a=1;
var b;
let c;

        在声明变量的同时,可以为变量赋值,如果不赋值,那么变量的值为undefined。        

        可以在赋值的同时改变变量的类型,比如以下代码是合法的:

var a=1;
a='abc';

         需要注意的是,虽然以上写法合法,但在实际开发中并不推荐这种写法。

        使用var和let在某些情况下作用是相同的,比如在同为全局变量,或者同为一个函数内的变量,如下所示

<script type="text/javascript">
var a; //全局变量,作用域为全局
let b; //全局变量,作用域为全局
function abc(){
    var c; //函数内变量,作用域为函数abc内
    let d; //函数内变量,作用域为函数abc内
}
</script>

        但var和let在某些情况下又有不同之处,比如以下代码:

if(1==1){
  var a=1;
  let b=1
}
console.log(a)
console.log(b)

        console.log是浏览器控制台打印语句,执行以上代码后,控制台显示如下:

        说明在if语句内使用var定义的变量,在if语句外也可以访问,而在if语句内使用let定义的变量,在if语句外则无法访问。同理,以上规则同样适用在for循环、while循环语句以及switch块中,以下两段代码会得到同样的输出:

for(i=0;i<3;i++){
  var a=1;
  let b=1
}
console.log(a)
console.log(b)
var i=1;
switch (i) {
  case 1:
    var a=1;
    let b=1
}
console.log(a)
console.log(b)

        另外,var和let的另一个不同之处是var定义的变量可以先访问后声明,而let则必须先声明再访问,比如以下代码

console.log(a)
var a=1;
console.log(b)
let b=1

        运行后输出结果如下

        最后一点需要说明的是,let不能被重定义,而var是可以的,以下代码输出结果为2

var a=1;
var a=2;
console.log(a)

        而以下代码则直接报错

let a=1;
let a=2;
console.log(a)

        声明变量的时候也可以省略var和let,例如下面的代码是合法的,但不推荐

a=1;
console.log(a)

 二、关键字

        关键字用于表示控制语句的开始或结束,或执行特定操作符等。关键字不可用作变量名、函数名、参数名、属性名等。以下是JavaScript中的全部关键字

breakdoinstanceoftypeof
caseelsenewvar
catchfinallyreturnvoid
continueforswitchwhile
debuggerfunctionthiswith
defaultifthrow
deleteintry

三、保留字

        除了关键字之外,JavaScript还规定了一组保留字,表示虽然目前没有在语言中使用,但它们将来有可能被用作关键字。以下是JavaScript中的所有保留字:

abstractenumintshort
booleanexportinterfacestatic
byteextendslongsuper
charfinalnativesynchronized
classfloatpackagethrows
constgotoprivatetransient
debuggerimplenmentsprotectedvolatile
doubleimportpublic

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西山水壶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值