Q1:在 JavaScript 中 undefined 、 null 及 空字串 的定義
Q2:輸出產生亂碼
/*
一、null 表示沒有值,被視為一個物件;
二、有以下情形會被視為undefined:
(1). 該變數未被宣告
(2). 被宣告的變數未給值。
三、 "" 表示空字串,被視為一個字串,與 null 不同
*/
var nullObj = null;
var undifindedObj;
document.write("null是一個" + typeof (null) + "<br>");
document.write("undifindedObj變數未給值,故是一個" + typeof (undifindedObj) + "<br>");
document.write("undifindedVar變數未被宣告,故是一個" + typeof (undifindedVar) + "<br>");
document.write("空字串是一個" + typeof ("") + "<br>");
/*
執行結果:
null是一個object
undifindedObj變數未給值,故是一個undefined
undifindedVar變數未被宣告,故是一個undefined
空字串是一個string
null是一個object
undifindedObj變數未給值,故是一個undefined
undifindedVar變數未被宣告,故是一個undefined
空字串是一個string
*/
Q2:輸出產生亂碼
如果 Web application 的編碼規則是 utf-8,如網頁標頭中的:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
那麼 js 檔案中,如果有中文輸出就會出現亂碼,解決此個問題可在引用 javascript
輸出的地方加上 charset = "gb2312" 或 charset = "big5"(Big5繁體字)。
例:
<script type="text/javascript" language="javascript" src="output.js" charset="big5">
</script>
PS:另一種解決方法是把 js 存檔成 utf-8 編碼。
留言