JavaScript变量、运算

举报
用户已注销 发表于 2021/11/19 00:53:41 2021/11/19
【摘要】 目录 一,变量声明,undefined 二,typeof 运算符 三,运算法则 四,var、作用域 五,let 六,重复声明 七,变量提升 Hoisting 一,变量声明,undefined JS中,变量通常通过var声明,类型是动态类型。 如果只声明不初始化,那么初始值就是undefined这个特殊的值...

目录

一,变量声明,undefined

二,typeof 运算符

三,运算法则

四,var、作用域

五,let

六,重复声明

七,变量提升 Hoisting


一,变量声明,undefined

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

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

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

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

二,typeof 运算符

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

如果是undefined,类型就是undefined

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

三,运算法则

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


  
  1. <p id="demo"></p>
  2. <script>
  3. x = "8" + 3 + 5;
  4. document.getElementById("demo").innerHTML = x;
  5. </script>

结果是835


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

结果是88

四,var、作用域

通常用var声明变量。

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

 var 可以多次声明变量


  
  1. <p id="demo"></p>
  2. <script>
  3. var carName = "porsche";
  4. var carName;
  5. document.getElementById("demo").innerHTML = carName;
  6. </script>

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


  
  1. <p id="demo"></p>
  2. <script>
  3. var x = 2;
  4. // 此时 x 是 2
  5. var x = 3;
  6. // 此时 x 是 3
  7. document.getElementById("demo").innerHTML = x;
  8. </script>

五,let

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

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


  
  1. <p id="demo"></p>
  2. <script>
  3. let carName
  4. carName = 123
  5. document.getElementById("demo").innerHTML = carName;
  6. </script>

或者


  
  1. <p id="demo"></p>
  2. <script>
  3. let carName = 123
  4. document.getElementById("demo").innerHTML = carName;
  5. </script>

六,重复声明

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

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

七,变量提升 Hoisting

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

let声明的变量不能提升。

文章来源: blog.csdn.net,作者:csuzhucong,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/nameofcsdn/article/details/120619817

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。