首頁技術文章正文

Javascript中的數(shù)據(jù)類型和運算符

更新時間:2023-04-14 來源:黑馬程序員 瀏覽量:

IT培訓班

數(shù)據(jù)類型:

雖然js是弱數(shù)據(jù)類型的語言,但是js中也存在數(shù)據(jù)類型,js中的數(shù)據(jù)類型分為 :原始類型 和 引用類型,具體有如下類型。

 | 數(shù)據(jù)類型  | 描述                                               |
| --------- | -------------------------------------------------- |
| number    | 數(shù)字(整數(shù)、小數(shù)、NaN(Not a Number))              |
| string    | 字符串,單雙引皆可                                 |
| boolean   | 布爾。true,false                                  |
| null      | 對象為空                                           |
| undefined | 當聲明的變量未初始化時,該變量的默認值是 undefined |

使用typeof函數(shù)可以返回變量的數(shù)據(jù)類型,接下來我們需要通過書寫代碼來演示js中的數(shù)據(jù)類型

第一步:在VS Code中創(chuàng)建名為13. JS-基礎語法-數(shù)據(jù)類型.html的文件

第二步:編寫如下代碼,然后直接挨個觀察數(shù)據(jù)類型:

<!DOCTYPE html>
 <html>
 <head>
     <meta charset="UTF-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>JS-數(shù)據(jù)類型</title>
 </head>
 <body>
 
 </body>
 <script>
 
     //原始數(shù)據(jù)類型
     alert(typeof 3); //number
     alert(typeof 3.14); //number
 
     alert(typeof "A"); //string
     alert(typeof 'Hello');//string
 
     alert(typeof true); //boolean
     alert(typeof false);//boolean
 
     alert(typeof null); //object 
 
     var a ;
     alert(typeof a); //undefined
     
 </script>
 </html>

js的運算符

js中的運算符,js中的運算規(guī)則絕大多數(shù)還是和java中一致的,具體運算符如下:

 | 運算規(guī)則   | 運算符                                                       |
| ---------- | ------------------------------------------------------------ |
| 算術運算符 | + , - , * , / , % , ++ , --                                  |
| 賦值運算符 | = , += , -= , *= , /= , %=                                   |
| 比較運算符 | &gt; , < , >= , <= , != , == , ===   注意     == 會進行類型轉換,=== 不會進行類型轉換 |
| 邏輯運算符 | && , \|\| , !                                                |
| 三元運算符 | 條件表達式 ? true_value: false_value                         |

接下來我們通過代碼來演示js中的運算法,主要記憶js中和java中不一致的地方

第一步:在VS Code中創(chuàng)建名為14. JS-基礎語法-運算符.html的文件

第二步:編寫代碼

在js中,絕大多數(shù)的運算規(guī)則和java中是保持一致的,但是js中的\==和===是有區(qū)別的。

- \==:只比較值是否相等,不區(qū)分數(shù)據(jù)類型,哪怕類型不一致,==也會自動轉換類型進行值得比較

- ===:不光比較值,還要比較類型,如果類型不一致,直接返回false

<!DOCTYPE html>
 <html>
 <head>
     <meta charset="UTF-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>JS-運算符</title>
 </head>
 <body>
     
 </body>
 <script>
      var age = 20;
      var _age = "20";
      var $age = 20;
     
      alert(age == _age);//true ,只比較值
      alert(age === _age);//false ,類型不一樣
      alert(age === $age);//true ,類型一樣,值一樣
 
 </script>
 </html>

在js中,雖然不區(qū)分數(shù)據(jù)類型,但是有時候涉及到數(shù)值計算,還是需要進行類型轉換的,js中可以通過parseInt()函數(shù)來進行將其他類型轉換成數(shù)值類型。注釋之前的代碼,添加代碼如下:

// 類型轉換 - 其他類型轉為數(shù)字
alert(parseInt("12")); //12
alert(parseInt("12A45")); //12
alert(parseInt("A45"));//NaN (not a number)

除此之外,在js中,還有非常重要的一點是:0,null,undefined,"",NaN理解成false,反之理解成true。注釋掉之前的代碼,添加如下代碼:

 if(0){ //false
    alert("0 轉換為false");
 }

瀏覽器刷新頁面,發(fā)現(xiàn)沒有任何彈框,因為0理解成false,所以條件不成立。注釋掉上述代碼,添加如下代碼:

if(1){ //true
    alert("除0和NaN其他數(shù)字都轉為 true");
}

瀏覽器刷新,因為1理解成true,條件成立,所以瀏覽器效果如下;

1681443565096_瀏覽器效果.png

分享到:
在線咨詢 我要報名
和我們在線交談!