JavaScript為什麼是寬鬆型別語言

2022-10-10 18:00:40

原因:JavaScript是一種直譯式指令碼語言,其資料型別可以被忽略,當對一個變數賦值時,是不需要考慮它的型別;待變數被賦予某個值之後,才會具有某種型別。簡單來說,JavaScript變數在不同的場合可以解釋為不同的型別。

前端(vue)入門到精通課程:進入學習
API 檔案、設計、偵錯、自動化測試一體化共同作業工具:

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

JavaScript變數與常數

學習任何一門語言都要從變數開始。變數可以被看作是一種被命名的分類容器,用於儲存特定的資料,資料可以具有多種形式:整數、小數、字串或其它資料型別。JS的變數不需要事先宣告就可以直接使用,同時JS的變數可以用任何方式進行命名,但為了方便閱讀,我們一般只是用數位、字母、美元符號和下劃線命名變數。JS的變數命名規則如下:

1)JavaScript變數在使用前不需要事先宣告,但為了防止程式在執行時出現難以查詢的錯誤,我們在使用變數前需要事先對變數進行宣告,其宣告方式如下

var mypetcat

2)JavaScript變數可以以任何符號進行命名,但為了方便閱讀,通常只是用字母、數位、美元符號以及下劃線進行命名。並且,在宣告變數時以字母開頭,且不單獨使用數位進行變數宣告

3)JavaScript是區分大小寫的語言,變數MYPETCAT和mypetcat是不一樣的。程式設計師在宣告變數的時候習慣使用一種「駱駝大小寫」(或混合大小寫)的方法,也就是把單詞和短語連寫到一起,沒有空格,每個單詞的首字母大寫,但整個名稱的第一個字母可以是大寫或小寫。如MyPetCat

4)JavaScript變數的賦值方式有很多種。可以在宣告變數的時候直接賦值

var myPetCat=11.2

或者

myPetCat=11.2

也可以先宣告變數再進行賦值

var myPetCatmyPetCat=11.2

5)JavaScript在宣告後即可直接進行呼叫

alert(myPetCat)

6)JavaScript中的常數用Math方法進行定義,將在後面的Math方法進行介紹

7)JavaScript可以試用const方法宣告常數,常數一旦宣告後就不可更改

const a=1;

JavaScript資料型別

「資料型別」這個術語表示了變數包含資料的本質特徵。字串變數包含了一個字串,數值變數包含了一個數值,等等。JavaScript屬於「寬鬆型別」的程式語言,這意味著JavaScript變數在不同的場合可以解釋為不同的型別。

從前面的內容中可以看出,在JavaScript中,不必事先宣告變數的資料型別就可以使用變數,這時JavaScript直譯器會根據情況做出他認為正確的判斷。如果我們現在變數裡儲存了一個字串,稍後又想把它當做數值使用,這在JavaScript裡是完全可行的,前提是這個字串必須包含像數位的內容。

1)整數

整數可以是正整數、負整數和0,如33,-100000

2)浮點數

與整數不同的是,浮點數具有小數部分,但小數部分可以為0。浮點數表示形式可以是3.1415926,也可以是指數形式35.4e5

在指數表示法中,e表示10的冪,利用指數表示法,可以很方便的表示特別大或者特別小的數

3)非數值(NaN)

當指令碼試圖把一些非數值資料當數值處理時,其返回值就是NaN,利用isNaN()函數能夠監測非數值,當輸入引數為非數值時,返回ture;當輸入引數為數值時,返回false

4)parseFloat()函數

該函數解析一個字串並返回一個浮點數

如果被解析的字串的首字元是一個數位,函數會一直解析知道數位結束,然後返回一個數值而不是字串

5)parseInt()函數

該函數與parseFloat()函數類似,返回值是整數或NaN。此外,該函數還有第二個可選引數,用於指定數值的基,從而返回二進位制、八進位制或其他進位制的數值所對應的十進位制數

6)無窮大(Infinity)

JavaScript所能表示的最大數值為2的53次方,超過該值即標誌為Infinity。此外,表示你負無窮的關鍵字為- Infinity。

利用isFinite()可以判斷一個數值是否為無窮大,當輸入值為NaN,Infinity或- Infinity時,返回false,其他情況返回ture

7)布林值

布林型別的資料只有兩個值:ture和false,常用與在程式碼中儲存邏輯操作的結果

對布林值進行賦值時,注意不要把值包含在引號裡面,如

A=ture

如果將布林值用於計算,JS會自動把ture轉換為1,把false轉換為0

8)「非」操作符(!)

當操作符!位於布林值之前時,JS將它解釋為非,也就是相反的值

9)null(空)

當我們讓變數具有有效值,卻又不是任何具體值時,就把null賦值給變數。對於數值來說,null就是0,對於字串來說,null就是」」,對於布林變數來說null表示false。

10)undefined(未定義)

undefined不是關鍵字,而是預定義的全域性變數。當某個變數已經在語句裡使用了,但沒有被賦予任何值時,他的值不是0或者null,而是undefined,表示JS不能識別他

javascript弱(寬鬆)型別的體現

一般規律是,約束越強越不容易出錯,但編寫程式時也越麻煩。在JavaScript中,因為約束比較弱,所以容易出現這種錯誤:最簡單的例子:

var a =200;
var b ="1";
var c= a + b;

你可能期望c是201,但實際上它是"2001",這個錯誤在強型別語言中決不會出現。然而正是因為JavaScript沒有這些約束,所以可以很方便地拼接數位和字串型別。

【相關推薦:】

以上就是JavaScript為什麼是寬鬆型別語言的詳細內容,更多請關注TW511.COM其它相關文章!