JavaScript变量、运算
        【摘要】 
                    目录 
一,变量声明,undefined 
二,typeof 运算符 
三,运算法则 
四,var、作用域 
五,let 
六,重复声明 
七,变量提升 Hoisting 
一,变量声明,undefined 
JS中,变量通常通过var声明,类型是动态类型。 
如果只声明不初始化,那么初始值就是undefined这个特殊的值...
    
    
    
    目录
一,变量声明,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声明的变量不能提升。
文章来源: blog.csdn.net,作者:csuzhucong,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/nameofcsdn/article/details/120619817
        【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
            cloudbbs@huaweicloud.com
        
        
        
        
        
        
        - 点赞
- 收藏
- 关注作者
 
             
           
评论(0)