首頁  >  文章  >  web前端  >  變數宣告時命名與變數為物件屬性時命名的區別解析_javascript技巧

變數宣告時命名與變數為物件屬性時命名的區別解析_javascript技巧

WBOY
WBOY原創
2016-05-16 17:10:191232瀏覽

這個標題實在拗口,Javascript命名變數所遵循的規則

1、第一個字元必須是字母、漢字字元、 底線(_)或美元符號($)

2、剩下的可以是底線、漢字字符、 美元符號和任何字母、數字

以下宣告變數是正確的

複製程式碼 程式碼如下:


程式碼如下:

var. $p,_p;
var 長,寬;  複製代碼


代碼如下:


var .p;//只能是字母、數字、底線或美元符號
var -p;//只能是字母、數字、底線或美元符號
var p*;//只能是字母、數字、底線或美元符號
var 4p,4長;//不能以數字開頭
var 長度;//中間不能有空格複製程式碼


程式碼如下:

var p = {name:"Jack"}; 🎜>alert(p.name);//點號
alert(p['name']);//中括號

1、點號要求後面的運算元是合法的識別碼(即合法的變數命名),對於不合法的不可以使用

2、中括號要求的則是一個字串即可,不必是合法的變數命名。如4p是不合法的變數命名(因為以數字開頭),但卻可以作為物件屬性名稱(前提是字串)複製程式碼

代碼如下:


var p = {
"4p":"Jack",
"-3":"hello",
name :"Tom",
"我":"me",
"我們":"we"
};

alert(p.4p);//不合法,語法分析時報錯,不能以數字開頭
alert(p.我);//合法,輸出"me"
alert(p.我們);//不合法,語法分析時報錯("我"和"們"之間有個空格)
alert(p["我們"]);//合法,輸出"we",雖然"我"和"們"之間有空格,仍然可以用[]存取
alert(p['4p']);//合法,輸出"Jack"
alert(p.name);//合法,輸出"Tom"
用直接量宣告一個物件變數時,屬性名稱有時候我們會加引號,有時候則不加,但無論加或不加,物件的屬性類型都是string複製程式碼

程式碼如下:


var book = {bname:"js權威指南","price":108};//bname沒引號,price加了
for(var attr in book) {
     //兩次輸出都是string,說明js會動態轉換成字串型別
     alert( attr ":" typeof(attr ) ); }
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn