最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript常量與數(shù)據(jù)類型及使用場景分析

 更新時間:2025年10月22日 10:59:25   作者:Mr.Jessy  
本文介紹了JavaScript中常量的定義與使用場景,闡述了基本和引用數(shù)據(jù)類型及其轉(zhuǎn)換方式,重點(diǎn)講解了隱式與顯式類型轉(zhuǎn)換的規(guī)則和方法,感興趣的朋友跟隨小編一起看看吧

常量

概念:使用 const 聲明的變量稱為“常量”。

使用場景:當(dāng)某個變量永遠(yuǎn)不會改變的時候,就可以使用 const 來聲明,而不是let。

命名規(guī)范:和變量一致

 const PI = 3.14

注意: 常量不允許重新賦值,聲明的時候必須賦值(初始化)

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

計算機(jī)世界中的萬事成物都是數(shù)據(jù)。

計算機(jī)程序可以處理大量的數(shù)據(jù),為了方便數(shù)據(jù)的管理,將數(shù)據(jù)分成了不同的類型,

js數(shù)據(jù)類型則主要分為兩類:基本數(shù)據(jù)類型和引用數(shù)據(jù)類型

其中:

基本數(shù)據(jù)類型分為:

  • number數(shù)字型
  • string字符串型
  • boolean布爾型
  • undefined未定義型
  • null空類型

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

  • object對象

注:通過 typeof 關(guān)鍵字檢測數(shù)據(jù)類型

 <!DOCTYPE html>
 <html lang="en">
 <head>
   <meta charset="UTF-8">
   <title>JavaScript 基礎(chǔ) - 數(shù)據(jù)類型</title>
 </head>
 <body>
   <script> 
     // 檢測 1 是什么類型數(shù)據(jù),結(jié)果為 number
     document.write(typeof 1)
     document.write(typeof '你好')  //結(jié)果為string
     //注意 從單選框多選框表單獲得的值默認(rèn)為字符串
     let num = prompt('請輸入一個數(shù)字:')
     document.write(typeof num) //結(jié)果為string
   </script>
 </body>
 </html>

注意:在使用表單、prompt獲取過來的值默認(rèn)是字符串,此時不能對其進(jìn)行簡單地加法運(yùn)算。因此類型轉(zhuǎn)換很重要。

數(shù)字類型

即我們數(shù)學(xué)中學(xué)習(xí)到的數(shù)字,可以是整數(shù)、小數(shù)、正數(shù)、負(fù)數(shù)

 <!DOCTYPE html>
 <html lang="en">
 <head>
   <meta charset="UTF-8">
   <title>JavaScript 基礎(chǔ) - 數(shù)據(jù)類型</title>
 </head>
 <body>
   <script> 
     let score = 100 // 正整數(shù)
     let price = 12.345 // 小數(shù)
     let temperature = -40 // 負(fù)數(shù)
 ?
     document.write(typeof score) // 結(jié)果為 number
     document.write(typeof price) // 結(jié)果為 number
     document.write(typeof temperature) // 結(jié)果為 number
   </script>
 </body>
 </html>

JavaScript 中的數(shù)值類型與數(shù)學(xué)中的數(shù)字是一樣的,分為正數(shù)、負(fù)數(shù)、小數(shù)等。

JavaScript是一門弱數(shù)據(jù)類型的語言,變量到底是屬于哪種類型,只有賦值后才能確認(rèn),反觀,Java是強(qiáng)數(shù)據(jù)類型,例如 int a = 3 我們知道a一定是整數(shù)。而 let a,不賦值真不知道是什么數(shù)。

基本的算輸符號這里不多解釋。注意區(qū)分'/'(取除數(shù))和'%'(取余數(shù))即可

算一下:3%5=3,只要前面的數(shù)比后面的數(shù)小,結(jié)果就取前面的數(shù)。

優(yōu)先級為:

  • 乘、除、取余相同,加減相同
  • 乘除取余大于加減
  • 使用()可提升優(yōu)先級

總之,先乘除后加減,有括號先括號

在數(shù)字類型中,有一個特殊的值NAN,它代表一個計算錯誤,是一個不正確或一個未定義的數(shù)學(xué)操作所得到的結(jié)果。比如console.log('老師' - 2)得到的結(jié)果就是NAN。NAN是粘性的,任何對NAN的操作都會返回NAN,如console.log(NAN + 2)。

但注意:NAN不等于NAN!

字符串類型

通過單引號( '') 、雙引號( "")或反引號(``)包裹的數(shù)據(jù)都叫字符串,單引號和雙引號沒有本質(zhì)上的區(qū)別,推薦使用單引號。

注意事項(xiàng):

  • 無論單引號或是雙引號必須成對使用
  • 單引號/雙引號可以互相嵌套,但是不能自已嵌套自已
  • 必要時可以使用轉(zhuǎn)義符 \,輸出單引號或雙引號
 <!DOCTYPE html>
 <html lang="en">
 <head>
   <meta charset="UTF-8">
   <title>JavaScript 基礎(chǔ) - 數(shù)據(jù)類型</title>
 </head>
 <body>
   <script> 
     let user_name = '小明' // 使用單引號
     let gender = "男" // 使用雙引號
     let str = '123' // 看上去是數(shù)字,但是用引號包裹了就成了字符串了
     let str1 = '' // 這種情況叫空字符串
     document.write(typeof user_name) // 結(jié)果為 string
     document.write(typeof gender) // 結(jié)果為 string
     document.write(typeof str) // 結(jié)果為 string
     document.write('str') //結(jié)果為str
     //document.write('你好呀'小明'') 這是報錯的
     document.write('你好呀"小明"'')
     document.write('你好呀\'小明\'')
   </script>
 </body>
 </html>

字符串之間可以通過'+'拼接

 document.write('你' + '好')
 let age = 19
 document.write('我今年' + age)
 //也可以直接:
 document.write('我今年' + 19)
 //這里字符串和數(shù)字相‘+',默認(rèn)為字符串拼接
模板字符串

使用場景:拼接字符串和變量

語法:

  • 使用反引號``
  • 內(nèi)容拼接時,用${}包住變量
 document.write('我今年' + age + '歲了')
 //也可以這么寫
 document.write(`我今年${age}歲了`)

布爾類型

表示肯定或否定時在計算機(jī)中對應(yīng)的是布爾類型數(shù)據(jù),它有兩個固定的值 truefalse,表示肯定的數(shù)據(jù)用 true,表示否定的數(shù)據(jù)用 false。

 <!DOCTYPE html>
 <html lang="en">
 <head>
   <meta charset="UTF-8">
   <title>JavaScript 基礎(chǔ) - 數(shù)據(jù)類型</title>
 </head>
 <body>
   <script> 
     //  pink老師帥不帥?回答 是 或 否
     let isCool = true // 是的,摔死了!
     isCool = false // 不,套馬桿的漢子!
 ?
     document.write(typeof isCool) // 結(jié)果為 boolean
   </script>
 </body>
 </html>

undefined

未定義是比較特殊的類型,只有一個值 undefined,只聲明變量,不賦值的情況下,變量的默認(rèn)值為 undefined,一般很少【直接】為某個變量賦值為 undefined。

 <!DOCTYPE html>
 <html lang="en">
 <head>
   <meta charset="UTF-8">
   <title>JavaScript 基礎(chǔ) - 數(shù)據(jù)類型</title>
 </head>
 <body>
   <script> 
     // 只聲明了變量,并末賦值
     let tmp;
     document.write(typeof tmp) // 結(jié)果為 undefined
   </script>
 </body>
 </html>

注:JavaScript 中變量的值決定了變量的數(shù)據(jù)類型。

在工作開發(fā)中,我們常聲明一個變量,等待傳送過來的數(shù)據(jù)。如果我們不知道這個數(shù)據(jù)是否傳遞過來,此時我們可以通過檢測這個變量是不是undefined來判斷用戶是否有數(shù)據(jù)傳遞過來。

null空類型

JavaScript中的null僅僅代表一個“無”、“空”或“值未知”的特殊值。

 let obj = null
 console.log(obj)  //結(jié)果為null

null和undefined的區(qū)別:

  • undefined表示沒有賦值
  • null表示賦值了,但內(nèi)容為空
 console.log(undefined + 1) //返回 NAN
 console.log(null + 1) //返回 1

在開發(fā)中,我們把null作為尚未創(chuàng)建的對象,也就是說如果有個變量里面存放的是一個對象,但是對象還沒創(chuàng)建好,可以先給個null。

類型轉(zhuǎn)換

理解弱類型語言的特征,掌握顯式類型轉(zhuǎn)換的方法

在 JavaScript 中數(shù)據(jù)被分成了不同的類型,如數(shù)值、字符串、布爾值、undefined,在實(shí)際編程的過程中,不同數(shù)據(jù)類型之間存在著轉(zhuǎn)換的關(guān)系。

隱式轉(zhuǎn)換

某些運(yùn)算符被執(zhí)行時,系統(tǒng)內(nèi)部自動將數(shù)據(jù)類型進(jìn)行轉(zhuǎn)換,這種轉(zhuǎn)換稱為隱式轉(zhuǎn)換。

規(guī)則:

  • +號兩邊只要有一個是字符串,就會把另外一個轉(zhuǎn)成字符串
  • 除了+號之外的算術(shù)運(yùn)算符(如- * /等)都會把數(shù)據(jù)轉(zhuǎn)成數(shù)字類型
  • +號作為正號解析可以轉(zhuǎn)換成數(shù)字型
  • 任何數(shù)據(jù)和字符串相加結(jié)果都是字符串
 <!DOCTYPE html>
 <html lang="en">
 <head>
   <meta charset="UTF-8">
   <title>JavaScript 基礎(chǔ) - 隱式轉(zhuǎn)換</title>
 </head>
 <body>
   <script> 
     let num = 13 // 數(shù)值
     let num2 = '2' // 字符串
 ?
     // 結(jié)果為 132
     // 原因是將數(shù)值 num 轉(zhuǎn)換成了字符串,相當(dāng)于 '13'
     // 然后 + 將兩個字符串拼接到了一起
     console.log(num + num2)
 ?
     // 結(jié)果為 11
     // 原因是將字符串 num2 轉(zhuǎn)換成了數(shù)值,相當(dāng)于 2
     // 然后數(shù)值 13 減去 數(shù)值 2
     console.log(num - num2)
     console.log(+12)  //結(jié)果為12
     console.log(+'123') //結(jié)果為123(數(shù)字型)
   </script>
 </body>
 </html>

注:數(shù)據(jù)類型的隱式轉(zhuǎn)換是 JavaScript 的特征,后續(xù)學(xué)習(xí)中還會遇到,目前先需要理解什么是隱式轉(zhuǎn)換。

補(bǔ)充介紹模板字符串的拼接的使用

顯式轉(zhuǎn)換

編寫程序時過度依靠系統(tǒng)內(nèi)部的隱式轉(zhuǎn)換是不嚴(yán)禁的,因?yàn)殡[式轉(zhuǎn)換規(guī)律并不清晰,大多是靠經(jīng)驗(yàn)總結(jié)的規(guī)律。為了避免因隱式轉(zhuǎn)換帶來的問題,通常根邏輯需要對數(shù)據(jù)進(jìn)行顯示轉(zhuǎn)換。

Number

通過 Number 顯示轉(zhuǎn)換成數(shù)值類型,當(dāng)轉(zhuǎn)換失敗時結(jié)果為 NaN(Not a Number)即不是一個數(shù)字。

注意:NAN也是number數(shù)字型,代表非數(shù)字

 <!DOCTYPE html>
 <html lang="en">
 <head>
   <meta charset="UTF-8">
   <title>JavaScript 基礎(chǔ) - 隱式轉(zhuǎn)換</title>
 </head>
 <body>
   <script>
     let t = '12'
     let f = 8
 ?
     // 顯式將字符串 12 轉(zhuǎn)換成數(shù)值 12
     t = Number(t)
 ?
     // 檢測轉(zhuǎn)換后的類型
     // console.log(typeof t);
     console.log(t + f) // 結(jié)果為 20
 ?
     // 并不是所有的值都可以被轉(zhuǎn)成數(shù)值類型
     let str = 'hello'
     // 將 hello 轉(zhuǎn)成數(shù)值是不現(xiàn)實(shí)的,當(dāng)無法轉(zhuǎn)換成
     // 數(shù)值時,得到的結(jié)果為 NaN (Not a Number)
     console.log(Number(str))
   </script>
 </body>
 </html>

parseInt

只保留開頭的整數(shù)部分

 console.log(parseInt('12px')) // 12
 console.log(parseInt('12.34px')) // 12
 console.log(parseInt('abc12.34px') // NAN

parseFloat

可以保留小數(shù)部分

 console.log(parseFloat('12px')) // 12
 console.log(parseFloat('12.34px')) // 12.34
 console.log(parseFloat('abc12.34px')) // NAN

到此這篇關(guān)于JavaScript學(xué)習(xí)第二天:常量與數(shù)據(jù)類型的文章就介紹到這了,更多相關(guān)js常量與數(shù)據(jù)類型內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • BootStrap智能表單實(shí)戰(zhàn)系列(四)表單布局介紹

    BootStrap智能表單實(shí)戰(zhàn)系列(四)表單布局介紹

    這篇文章主要介紹了BootStrap智能表單實(shí)戰(zhàn)系列(四)表單布局介紹,表單布局分為自動布局和自定義布局兩種,本文通過代碼給大家介紹,介紹的非常詳細(xì),具有參考借鑒價值,感興趣的朋友一起學(xué)習(xí)吧
    2016-06-06
  • uniapp?js修改數(shù)組某個下標(biāo)以外的所有值完整代碼

    uniapp?js修改數(shù)組某個下標(biāo)以外的所有值完整代碼

    在UniApp開發(fā)中,經(jīng)常需要對數(shù)組進(jìn)行操作,若要修改數(shù)組中特定下標(biāo)外的所有元素,可通過map方法或for循環(huán)實(shí)現(xiàn),map方法適用于生成新數(shù)組,for循環(huán)則直接修改原數(shù)組,根據(jù)項(xiàng)目需求選擇最佳方案,需要的朋友可以參考下
    2024-09-09
  • 設(shè)置iframe的document.designMode后僅Firefox中其body.innerHTML為br

    設(shè)置iframe的document.designMode后僅Firefox中其body.innerHTML為br

    設(shè)置iframe的document.designMode為On可以讓其可編輯,一般用在富文本編輯器組件中。這里僅列出各瀏覽器差異
    2012-02-02
  • 關(guān)于ExtJS4.1:快捷鍵支持的問題

    關(guān)于ExtJS4.1:快捷鍵支持的問題

    本篇文章小編為大家介紹,關(guān)于ExtJS4.1 快捷鍵支持的問題。需要的朋友參考下
    2013-04-04
  • js中document.getElementById(id)的具體用法

    js中document.getElementById(id)的具體用法

    本文主要介紹了js中document.getElementById(id)的具體用法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • JS使用canvas中的measureText方法測量字體寬度示例

    JS使用canvas中的measureText方法測量字體寬度示例

    這篇文章主要介紹了JS使用canvas中的measureText方法測量字體寬度,結(jié)合實(shí)例形式分析了canvas的measureText方法相關(guān)使用技巧,需要的朋友可以參考下
    2019-02-02
  • ionic開發(fā)中點(diǎn)擊input時鍵盤自動彈出

    ionic開發(fā)中點(diǎn)擊input時鍵盤自動彈出

    ionic開發(fā)移動端界面時,在輸入用戶名和密碼的時候,輸入法不要擋住我的輸入框,并且輸入框往上滾動的時候,頂部標(biāo)題不要上移,下面給大家分享實(shí)現(xiàn)代碼,一起看看吧
    2016-12-12
  • three.js實(shí)現(xiàn)3D視野縮放效果

    three.js實(shí)現(xiàn)3D視野縮放效果

    這篇文章主要為大家詳細(xì)介紹了three.js實(shí)現(xiàn)3D視野縮放效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • JavaScript Date 知識淺析

    JavaScript Date 知識淺析

    這篇文章主要介紹了JavaScript Date 知識,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2017-01-01
  • await/async無法捕獲與處理錯誤信息的解決方案分享

    await/async無法捕獲與處理錯誤信息的解決方案分享

    async await 中添加錯誤處理個人認(rèn)為是有必要的,下面這篇文章主要給大家介紹了關(guān)于await/async無法捕獲與處理錯誤信息的解決方案,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02

最新評論

阳朔县| 洛扎县| 绥阳县| 文水县| 阿合奇县| 临泽县| 金乡县| 礼泉县| 清涧县| 宝丰县| 明光市| 井研县| 新余市| 高雄市| 岳阳市| 五家渠市| 江山市| 理塘县| 民勤县| 胶南市| 班玛县| 开原市| 鄂尔多斯市| 永康市| 青阳县| 张家港市| 宜昌市| 陈巴尔虎旗| 绩溪县| 乌鲁木齐县| 马边| 建德市| 敦煌市| 廊坊市| 科技| 互助| 广宗县| 天峻县| 孟津县| 正蓝旗| 鹤峰县|