本文小編為大家詳細介紹“JavaScript變量和數(shù)據(jù)類型知識點有哪些”,內(nèi)容詳細,步驟清晰,細節(jié)處理妥當,希望這篇“JavaScript變量和數(shù)據(jù)類型知識點有哪些”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
創(chuàng)新互聯(lián)建站專注于單縣網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供單縣營銷型網(wǎng)站建設(shè),單縣網(wǎng)站制作、單縣網(wǎng)頁設(shè)計、單縣網(wǎng)站官網(wǎng)定制、成都微信小程序服務(wù),打造單縣網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供單縣網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
一、變量
概念:程序開發(fā)中,經(jīng)常需要自定義一些符號來標記一些名稱,并賦予其特定的用途,如變量名、函數(shù)名等,這些符號都被稱為標識符。
定義規(guī)則
由大小寫字母、數(shù)字、下劃線和美元符號($)組成。
不能以數(shù)字開頭。
嚴格區(qū)分大小寫。
不能使用JavaScript中的關(guān)鍵字命名。
要盡量要做到“見其名知其意”。
合法的標識符為:it、It、age66、_age、$name
非法的標識符為:t-o、t o、798lu
注意
當標識符中需要多個單詞進行表示時,常見的表示方式有下劃線法(如user_name)、駝峰法(如userName)和帕斯卡法(如UserName)。讀者可根據(jù)開發(fā)需求統(tǒng)一規(guī)范命名的方式,如下劃線方式通常應(yīng)用于變量的命名,駝峰法通常應(yīng)用于函數(shù)名的命名等。
保留關(guān)鍵字:是指在JavaScript語言中被事先定義好并賦予特殊含義的單詞。
未來保留關(guān)鍵字:是指預(yù)留的,未來可能會成為保留關(guān)鍵字的單詞。
保留關(guān)鍵字
關(guān)鍵字不能作為變量名和函數(shù)名使用,否則會使JavaScript在載入過程中出現(xiàn)語法錯誤。
未來保留關(guān)鍵字
標識符在定義時,建議不要用未來保留關(guān)鍵字,避免將來轉(zhuǎn)換為關(guān)鍵字時出現(xiàn)錯誤。
概念:變量可以看作是存儲數(shù)據(jù)的容器。
舉例:盛水的杯子,杯子指變量,杯中的水指保存在變量中的數(shù)據(jù)。
語法:JavaScript中變量通常利用var關(guān)鍵字聲明,并且變量名的命名規(guī)則與標識符相同。
舉例:合法變量名(如number、_it123)、非法變量名(如88shout、&num)。
未賦初始值的變量,默認值會被設(shè)定為undefined。
行末的分號表示語句結(jié)束。
變量與變量之間的逗號(,)操作符,可實現(xiàn)一條語句同時完成多個變量的聲明。
注意
JavaScript中變量雖然可以不事先聲明,直接省略var關(guān)鍵字為變量賦值。但由于JavaScript采用的是動態(tài)編譯,程序運行時不容易發(fā)現(xiàn)代碼中的錯誤,所以推薦讀者在使用變量前,要養(yǎng)成先聲明的良好習慣。
常量:可以理解為在腳本運行過程中值始終不變的量。
特點:一旦被定義就不能被修改或重新定義。
舉例:數(shù)學中的圓周率π就是一個常量,其值就是固定且不能被改變的。
語法:ES6中新增了const關(guān)鍵字,用于實現(xiàn)常量的定義
常量命名規(guī)則:遵循標識符命名規(guī)則,習慣上常量名稱總是使用大寫字母表示。
常量的值:常量在賦值時可以是具體的數(shù)據(jù),也可以是表達式的值或變量。
常量一旦被賦值就不能被改變。
常量在聲明時必須為其指定某個值。
二、數(shù)據(jù)類型
JavaScript中的數(shù)據(jù):在使用或賦值時根據(jù)設(shè)置的具體內(nèi)容再確其對應(yīng)的類型。
但每一種計算機語言都有自己所支持的數(shù)據(jù)類型,JavaScript也不例外。
關(guān)于引用數(shù)據(jù)類型,將會在后面的章節(jié)詳細介紹。
布爾型是JavaScript中較常用的數(shù)據(jù)類型之一,通常用于邏輯判斷。
ture | false
表示事物的“真”和“假”,嚴格遵循大小寫,因此true和false值只有全部為小寫時才表示布爾型。
JavaScript中的數(shù)值型并不區(qū)分整數(shù)和浮點數(shù),所有數(shù)字都是數(shù)值型。
添加“- ”符號表示負數(shù)。
添加“+ ”符號表示正數(shù)(通常情況下省略“+”)。
設(shè)置為NaN表示非數(shù)值。
只要給定的值不超過JavaScript中允許數(shù)值指定的范圍即可。
NaN非數(shù)值
NaN 是一個全局對象的屬性,它的初始值就是NaN。
與數(shù)值型中的特殊值NaN一樣,都表示非數(shù)字(Not a Number)。
可用于表示某個數(shù)據(jù)是否屬于數(shù)值型。
NaN沒有一個確切的值,僅表示非數(shù)值型的一個范圍。
例如,NaN與NaN進行比較時,結(jié)果不一定為真(true),這是由于被操作的數(shù)據(jù)可能是布爾型、字符型、空型、未定義型和對象型中的任意一種類型。
字符型(String)是由Unicode字符、數(shù)字等組成的字符序列,這個字符序列我們一般將其稱為字符串。
作用:表示文本的數(shù)據(jù)類型。
語法:程序中的字符型數(shù)據(jù)包含在單引號(")或雙引號("")。
由單引號定界的字符串中可以包含雙引號。
由雙引號定界的字符串中也可以包含單引號。
問題:如何在在單引號中使用單引號,或在雙引號中使用雙引號?
答案:利用轉(zhuǎn)義字符“\”進行轉(zhuǎn)義。
在字符串中使用換行、Tab等特殊符號時,也需要利用轉(zhuǎn)義符“\”的轉(zhuǎn)義。
空型(Null)只有一個特殊的null值。
空型用于表示一個不存在的或無效的對象與地址。
JavaScript中大小寫敏感,因此變量值只有是小寫的null時才表示空型(Null)。
未定義型(Undefined)也只有一個特殊的undefined值。
未定義型用于聲明的變量還未被初始化時,變量的默認值為undefined。
與null不同的是,undefined表示沒有為變量設(shè)置值,而null則表示變量(對象或地址)不存在或無效。
注意:null和undefined與空字符串(’’)和0都不相等。
為什么需要數(shù)據(jù)類型檢測,以下面的示例進行講解?
請分析并說出變量sum的數(shù)據(jù)類型,以及為什么?
思考答案:變量sum是字符型。
過程分析: 運算符“+”的操作數(shù)只要有一個是字符型,則它表示字符拼接。而此案例中參與運算的兩個變量,num1是數(shù)值型,num2是字符型,因此最后的輸出結(jié)果變量sum就是num1與num2進行拼接后的字符串。
思考結(jié)論:開發(fā)中對參與運算的數(shù)據(jù)類型有要求時,需要進行數(shù)據(jù)類型檢測。
JavaScript中對于數(shù)據(jù)類型的檢測提供了以下兩種方式:
typeof操作符以字符串形式,返回未經(jīng)計算的操作數(shù)的類型。
在利用typeof檢測null的類型時返回的是object而不是null。
由于JavaScript中一切皆對象,因此可利用Object.prototype.toString.call()對象原型的擴展函數(shù)更精確的區(qū)分數(shù)據(jù)類型。
Object.prototype.toString.call(data)的返回值是一個形如“[object 數(shù)據(jù)類型]”的字符型結(jié)果。(可通過console.log()觀察返回值。)
數(shù)據(jù)類型轉(zhuǎn)換——轉(zhuǎn)布爾型
應(yīng)用場景:經(jīng)常用于表達式和流程控制語句中,如數(shù)據(jù)的比較、條件的判斷。
實現(xiàn)語法:Boolean()函數(shù)。
注意事項:Boolean()函數(shù)會將任何非空字符串和非零的數(shù)值轉(zhuǎn)換為true,將空字符串、0、NaN、undefined和null轉(zhuǎn)換為false。
演示示例:判斷用戶是否有內(nèi)容輸入。
對Boolean(con)進行分析:
用戶單擊“取消”按鈕,則結(jié)果為false
用戶未輸入,單點擊“確定”按鈕,則結(jié)果為false
用戶輸入“哈哈”,單點擊“確定”按鈕,則結(jié)果為true
數(shù)據(jù)類型轉(zhuǎn)換——轉(zhuǎn)數(shù)值型
應(yīng)用場景:開發(fā)中在接收用戶傳遞的數(shù)據(jù)進行運算時,為了保證參與運算的都是數(shù)值型,經(jīng)常需要對其進行轉(zhuǎn)換。
實現(xiàn)語法:Number()函數(shù)、parseInt()函數(shù)或parseFloat()函數(shù)。
演示示例:根據(jù)用戶的輸入完成自動求和。
轉(zhuǎn)數(shù)值型的函數(shù)在使用時有一定的區(qū)別。
所有函數(shù)在轉(zhuǎn)換純數(shù)字時會忽略前導(dǎo)零,如“0123”字符串會被轉(zhuǎn)換為123。
parseFloat()函數(shù)會將數(shù)據(jù)轉(zhuǎn)換為浮點數(shù)(可以理解為小數(shù))。
parseInt()函數(shù)會直接省略小數(shù)部分,返回數(shù)據(jù)的整數(shù)部分,并可通過第2個參數(shù)設(shè)置轉(zhuǎn)換的進制數(shù)。
注意
在實際開發(fā)中還需要對轉(zhuǎn)換后的結(jié)果是否是NaN進行判斷,只有不是NaN時,才能夠進行運算。此時可使用isNaN()函數(shù)來確定,當給定值為undefined、NaN和{}(對象)時返回true,否則返回false。
數(shù)據(jù)類型轉(zhuǎn)換——轉(zhuǎn)字符型
實現(xiàn)語法:String()函數(shù)和toString()方法。
實現(xiàn)方式的區(qū)別: String()函數(shù)可以將任意類型轉(zhuǎn)換為字符型;除了null和undefined沒有toString()方法外,其他數(shù)據(jù)類型都可以完成字符的轉(zhuǎn)換。
演示示例:根據(jù)用戶的輸入完成自動求和。
注意
toString()方法在進行數(shù)據(jù)類型轉(zhuǎn)換時,可通過參數(shù)設(shè)置,將數(shù)值轉(zhuǎn)換為指定進制的字符串,例如num4.toString(2),表示首先將十進制26轉(zhuǎn)為二進制11010,然后再轉(zhuǎn)為字符型數(shù)據(jù)。
概念:表達式可以是各種類型的數(shù)據(jù)、變量和運算符的集合。
最簡單的表達式可以是一個變量。
讀到這里,這篇“JavaScript變量和數(shù)據(jù)類型知識點有哪些”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。