首頁 >web前端 >前端問答 >JavaScript為什麼是寬鬆型別語言

JavaScript為什麼是寬鬆型別語言

青灯夜游
青灯夜游原創
2022-10-10 16:50:151432瀏覽

原因:JavaScript是一種直譯式腳本語言,其資料型別可以被忽略,當對一個變數賦值時,是不需要考慮它的型別;待變數被賦予某個值之後,才會具有某種類型。簡單來說,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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn