JavaScript變數和資料型別


JavaScript資料型別:

程式設計語言的最根本的特徵之一是一組它支援的資料型別。這些是可被表示和操縱的程式設計語言的值的型別。

JavaScript允許有三個基本資料型別:

  • 數位如. 123, 120.50 等.

  • 字串如 "This text string" 等.

  • 布林型別,如 true 或 false.

的JavaScript還定義了兩種資料型別:null和undefined,其每一個僅限定一個單一的值。

除了這些基本的資料型別,JavaScript支援被稱為物件的複合資料型別。我們會看到在一個單獨的章節介紹物件細節。

註:Java不作整數和浮點值之間的區別。在JavaScript中的所有數位都表示為浮點值。JavaScript表示使用由IEEE 754標準中定義的64位元浮點格式的數位。

JavaScript變數:

像許多其他的程式設計語言,JavaScript有變數。變數可以被認為是命名容器。您可以將資料放入這些容器,然後參考該資料簡單地命名容器。

要在JavaScript程式使用一個變數,必須宣告它。變數是用var關鍵字宣告如下:

<script type="text/javascript">
<!--
var money;
var name;
//-->
</script>

還可以用相同的var關鍵字宣告多個變數如下:

<script type="text/javascript">
<!--
var money, name;
//-->
</script>

儲存在變數中的值被稱為變數的初始化。可以在變數建立或更新的時候初始化,需要一個變數,如下所示:

例如,可以建立一個名為變數money和2000.50值,然後分配給它。對於另外一個變數,可以按如下初始化時分配一個值:

<script type="text/javascript">
<!--
var name = "Ali";
var money;
money = 2000.50;
//-->
</script>

注意:使用var關鍵字只宣告或初始化。一旦變數名稱宣告它的生命週期在整個文件中。不需要重新宣告同一個變數兩次。

JavaScript是型別化的語言。這意味著,JavaScript變數可以儲存任何資料型別的值。不像許多其他語言,你不必在變數宣告什麼型別的值的變數將持有告訴JavaScript。變數的值型別可以在程式的執行過程中改變以及JavaScript會自動。

JavaScript變數範圍:

一個變數的範圍是程式中定義它的區域。 JavaScript變數將只有兩個範疇。

  • 全域性變數: 全域性變數具有全域性範圍,這意味著它是無處不在於定義JavaScript程式碼中。

  • 區域性變數: 區域性變數將只在那裡它被定義的函式是可見的。函式的引數是區域性的功能。

在一個函式的主體中,區域性變數優先於具有相同名稱的全域性變數。如果宣告具有相同名稱作為一個全域性變數,一個區域性變數或函式引數,可以有效地隱藏全域性變數。下面舉例說明吧:

<script type="text/javascript">
<!--
var myVar = "global"; // Declare a global variable
function checkscope( ) {
   var myVar = "local";  // Declare a local variable
   document.write(myVar);
}
//-->
</script>

這將產生以下結果:

local

 

JavaScript的變數名:

雖然在JavaScript中變數命名保持以下幾點規則。

  • 不應該使用任何保留的JavaScript關鍵字作為變數名。這些關鍵字中提到的下一部分。例如,break 或者 boolean 變數名是無效的。

  • JavaScript變數名不應以數位開始(0-9)。他們必須以字母或下劃線。例如,123test是無效的變數的名稱,但 _123tes t是一個有效的。

  • JavaScript變數名稱是區分大小寫。例如,Name 和 name 是兩個不同的變數。

JavaScript的保留字:

以下是在JavaScript中的保留字。它們不能用於如 JavaScript 變數,函式,方法,迴圈標籤,或任何物件名稱。

abstract
boolean
break
byte
case
catch
char
class
const
continue
debugger
default
delete
do
double
else
enum
export
extends
false
final
finally
float
for
function
goto
if
implements
import
in
instanceof
int
interface
long
native
new
null
package
private
protected
public
return
short
static
super
switch
synchronized
this
throw
throws
transient
true
try
typeof
var
void
volatile
while
with