JavaScript变量、运算

目录

一,变量声明,undefined

二,typeof 运算符

三,运算法则

四,var、作用域

五,let

六,重复声明

七,变量提升 Hoisting


一,变量声明,undefined

JS中,变量通常通过var声明,类型是动态类型。

如果只声明不初始化,那么初始值就是undefined这个特殊的值。

和C语言一样,变量可以声明的同时进行初始化。

非严格模式下,var还可以省略掉,即默认的声明方式是var而不是let

二,typeof 运算符

typeof可以给出一个变量的类型

如果是undefined,类型就是undefined

如果变量不存在,类型也是undefined

三,运算法则

JS的常规运算和C语言一样,但是JS的运算还包括了动态类型推导。

<p id="demo"></p>

<script>
x = "8" + 3 + 5;
document.getElementById("demo").innerHTML = x;
</script>

结果是835

<p id="demo"></p>

<script>
var x = 3 + 5 + "8"
document.getElementById("demo").innerHTML = x;
</script>

结果是88

四,var、作用域

通常用var声明变量。

在函数外声明的变量有全局作用域,在函数内声明的变量有局部作用域(函数作用域)。

 var 可以多次声明变量

<p id="demo"></p>

<script>
var carName = "porsche";
var carName; 
document.getElementById("demo").innerHTML = carName;
</script>

多次声明并初始化也是可以的

<p id="demo"></p>

<script>
var x = 2;
// 此时 x 是 2

var x = 3;
// 此时 x 是 3

document.getElementById("demo").innerHTML = x;
</script>

五,let

使用let声明的变量,具有块作用域

和var一样,可以先声明再初始化,也可以声明并初始化

<p id="demo"></p>

<script>
let carName
carName = 123
document.getElementById("demo").innerHTML = carName;
</script>

或者

<p id="demo"></p>

<script>
let carName = 123
document.getElementById("demo").innerHTML = carName;
</script>

六,重复声明

在相同的块中,先后2次声明一个变量(无论有没有初始化),只能先var再var,

另外三种都不行(先var再let,先let再let,先let再var)

七,变量提升 Hoisting

通过 var 声明的变量会提升到顶端,也就是说可以先使用再声明。

let声明的变量不能提升。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值