西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁編程開發(fā)javascript|JQuery → 帶有中文的JS變量需要謹(jǐn)慎

帶有中文的JS變量需要謹(jǐn)慎

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:本站整理時(shí)間:2010/9/14 9:08:44字體大。A-A+

作者:不詳點(diǎn)擊:328次評論:0次標(biāo)簽: JavaScript

  • 類型:電子教程大。3.3M語言:中文 評分:3.6
  • 標(biāo)簽:
立即下載

問題代碼
JS代碼:
JScript codevar 中文字符;
var 面食、包子=[包子,包子,面條,茄子];
見過正常的變量名,沒見過中文的正常的變量名。
所以…… 以上代碼可用嗎??
帶著問題,我們來看看 ECMAScript 的規(guī)定。

變量的定義
對于變量的定義,在ECMAScript 規(guī)范中規(guī)定有這么兩點(diǎn):
1. 第一個(gè)字符必須是字母、下劃線(_)或美圓符號($)。
2. 余下的字符可以是下劃線、美圓符號或任何字母或數(shù)字字符。
以上可用的字符集中沒有提到漢字和中文字符。

關(guān)于標(biāo)識(shí)符的更多信息,請參考 ECMAScript 規(guī)范 7.6 Identifier Names and Identifiers中的內(nèi)容。

變量名可以包含是漢字嗎?
做個(gè)測試,test.html(文件編碼為 UTF-8):
HTML code<META http-equiv=Content-Type content="text/html; charset=utf-8">
<script type="text/javascript">
var 中文字符 = "你好,世界";
alert(中文字符);

var 中文X字符 = "你好,世界X";
alert(中文X字符);
</script>
注意,一定要用 META 標(biāo)簽確保頁面編碼和文件編碼一致。
可喜可賀,所有瀏覽器都支持中文變量名。

變量名中可以包含中文字符嗎?
看一下的例子:
HTML code<META http-equiv=Content-Type content="text/html; charset=utf-8">
<script type="text/javascript">
var 中文、字符 = "你好,世界";
alert(中文、字符);
</script>
這次,除了 IE 之外,其他瀏覽器無一幸免。

再試一下英文和中文字符的混合變量:
HTML code<META http-equiv=Content-Type content="text/html; charset=utf-8">
<script type="text/javascript">
var as、you = "你好,世界";
alert(as、you);
</script>
IE 再一次表現(xiàn)力它的“寬容”,而其他瀏覽器又掛掉了。

看來
只有 IE 中的 Javascript 變量名支持中文字符。

蠱惑之中文逗號
一定要小心中文逗號分隔變量的做法:
HTML code<META http-equiv=Content-Type content="text/html; charset=utf-8">
<script type="text/javascript">
var as,you = "你好,世界";
alert(as,you);
</script>
這段代碼的原意是定義兩個(gè)變量,一個(gè)是 as,一個(gè)是 you,而且還給 you 賦了初始值。但是,事與愿違,逗號錯(cuò)了。所以,如果這時(shí)候你訪問 as 或者是 you,對不起,沒有…… IE里倒是有這個(gè)變量:as,you。

所以,要警惕這個(gè)中文的逗號:,。

解決方案
避免在變量名(即標(biāo)識(shí)符)中出現(xiàn)中文標(biāo)點(diǎn),以保證兼容各瀏覽器。

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)