2013年10月10日 星期四

Q1:在 JavaScript 中 undefined 、 null 及 空字串 的定義
Q2:輸出產生亂碼

Q1:在 JavaScript 中 undefined 、 null 及 空字串 的定義

    /*
        一、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
 */
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 編碼。 


沒有留言: