3-1 ぇA簡

JavaScript 的資料型態(Data Type)可分成三類,說明如下:

對於不同資料型態的變數,我們可用 typeof() 函數來傳回其資料型態,請見下列範例:

Example(typeof01.htm):

此範例的完整原始檔案如下:

原始檔(typeof01.htm):(灰色區域按兩下即可拷貝)
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=big5">
</head>

<body>
<h2 align=center>typeof() 對不同資料型態的回傳值</h2>
<hr>

<script>
x = "This is a string";
document.write("字串:" + typeof(x)+"<br>");
x = 100;
document.write("數字:" + typeof(x)+"<br>");
x = 10==10;
document.write("布林:" + typeof(x)+"<br>");
function square(n){
	return(n*n);
}
document.write("函數:" + typeof(square)+"<br>");
x = new Date();
document.write("日期:" + typeof(x)+"<br>");
x = ["Mon", "Tue", "Wed"];
document.write("陣列:" + typeof(x)+"<br>");
x = {"Mon":"Game", "Tue":"Sports", "Wed":"Karaoke"};
document.write("字典:" + typeof(x)+"<br>");
student = new Object();
student.name = "Timmy";
student.age = "25";
student.phone = "575-1114";
document.write("自訂物件:" + typeof(student)+"<br>");
</script>

<hr>
</body>
</html>

請特別注意:

有關 JavaScript 的基本資料型態及組合資料型態,會在本章下列各節說明。以下將先說明 JavaScript 的特殊資料型態,包含 null 及 undefined。

「undefined」是一種特殊的資料型態,專門用來判斷下列兩種情況:

  1. 不存在的變數:未宣告,且未指定值的變數。
  2. 未初始化的變數:已宣告,但未指定值的變數。
說明如下: 請見下列範例:

Example(undefined01.htm):

此範例的完整原始檔案如下:

原始檔(undefined01.htm):(灰色區域按兩下即可拷貝)
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=big5">
<title>undefined 的範例</title>
</head>

<body>
<h2 align=center>undefined 的範例</h2>
<hr>

<script>
// notDeclare 變數未經過宣告,所以無值
// 此時 typeof(notDeclared) 會傳回 "undefined" 字串
if (typeof(notDeclared) == "undefined")	
	document.write("notDeclared 未被宣告<br>");
document.write("typeof(notDeclared)="+typeof(notDeclared)+"<br>");

// declare 變數只經過宣告,但尚未初始化,它的值是 undefined(非字串!)
// 此時 typeof(declared) 仍會傳回 "undefined" 字串
var declared;
if (declared==undefined)		
	document.write("declared 已宣告但未被啟始<br>");
document.write("declared="+declared+"<br>");
document.write("typeof(declared)="+typeof(declared)+"<br>");
</script>

<hr>
</body>
</html>

「null」是另一種特殊的資料型態,下面有一個範例,可用來檢查 null 的各種性質和用法:

Example(null01.htm):

此範例的完整原始檔案如下:

原始檔(null01.htm):(灰色區域按兩下即可拷貝)
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=big5">
<title>null 的範例</title>
</head>

<body>
<h2 align=center>null 的範例</h2>
<hr>

<pre>
<script>
x=null;
//x=Null;
//x=NULL;
//上面兩列會讓程式無法繼續執行,JavaScript會自動中斷,故可以證明為錯誤寫法
document.writeln("x=null");
document.writeln("正確寫法為 null,非 Null 或 NULL!");
document.writeln("x 的型態:"+typeof(x));
document.write("null 的真值型態:");		//在if判斷中為false
(x)?document.writeln("True!"):document.writeln("False!");
document.write("x==null 是否成立:");		//可以直接使用==
(x==null)?document.writeln("True!"):document.writeln("False!");
</script>
</pre>

<hr>
</body>
</html>


JavaScript 程式設計與應用:用於網頁用戶端