首頁(yè)技術(shù)文章正文

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

更新時(shí)間:2023-04-14 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

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

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

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

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

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

第二步:編寫如下代碼,然后直接挨個(gè)觀察數(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的運(yùn)算符

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

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

接下來(lái)我們通過(guò)代碼來(lái)演示js中的運(yùn)算法,主要記憶js中和java中不一致的地方

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

第二步:編寫代碼

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

- \==:只比較值是否相等,不區(qū)分?jǐn)?shù)據(jù)類型,哪怕類型不一致,==也會(huì)自動(dòng)轉(zhuǎn)換類型進(jìn)行值得比較

- ===:不光比較值,還要比較類型,如果類型不一致,直接返回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-運(yùn)算符</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ū)分?jǐn)?shù)據(jù)類型,但是有時(shí)候涉及到數(shù)值計(jì)算,還是需要進(jìn)行類型轉(zhuǎn)換的,js中可以通過(guò)parseInt()函數(shù)來(lái)進(jìn)行將其他類型轉(zhuǎn)換成數(shù)值類型。注釋之前的代碼,添加代碼如下:

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

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

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

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

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

瀏覽器刷新,因?yàn)?理解成true,條件成立,所以瀏覽器效果如下;

1681443565096_瀏覽器效果.png

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!