原因:JavaScript是一種直譯式腳本語言,其資料型別可以被忽略,當對一個變數賦值時,是不需要考慮它的型別;待變數被賦予某個值之後,才會具有某種類型。簡單來說,JavaScript變數在不同的場合可以解釋為不同的類型。
本教學操作環境: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没有这些约束,所以可以很方便地拼接数字和字符串类型。
【相关推荐:web前端开发】
以上是JavaScript為什麼是寬鬆型別語言的詳細內容。更多資訊請關注PHP中文網其他相關文章!