原因: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其它相關文章!