復制代碼 代碼如下:
var object;
object.prop1 = "value1";
object.prop2 = "value2";

也可以采用如下方式:
復制代碼 代 " /> 亚洲国产精品一区二区三区,日日射天天干,亚洲电影在线观看

四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

使用變量動態(tài)設置js的屬性名

目標:js的屬性名可以使用變量

舉例:js對象object,當賦給該對象屬性的時候可以采用以下方式
復制代碼 代碼如下:
var object;
object.prop1 = "value1";
object.prop2 = "value2";

也可以采用如下方式:
復制代碼 代碼如下:
object.push({prop1:"value1"});
object.push({prop2:"value2"});

在這里prop1 作為屬性名稱,可以直接用,也可以加上引號,比如:
復制代碼 代碼如下:
object.push({"<span style="font-family: Arial, Helvetica, sans-serif;">prop1</span>":"value1"});

表達的含義都是一樣的,也就是說,prop1只能作為常量被識別,即使它是個變量也沒用,例如:
復制代碼 代碼如下:
var prop1 = "prop2";
object.push({prop1:"<span style="font-family: Arial, Helvetica, sans-serif;">value1</span>"});

這樣通過object訪問prop2會出現(xiàn)什么情況呢?比如:
復制代碼 代碼如下:
alert(<span style="font-family: Arial, Helvetica, sans-serif;">object.prop2) </span>

不用問,當然是undefined,而訪問object.prop1卻是"value1"

原因已經(jīng)說過了,無論加不加引號,屬性一律當成常量對待.再舉一個例子:
復制代碼 代碼如下:
var arr=[];
arr['js']='jquery';
arr['css']='oocss';
var obj={};
for(var i in arr)
{

obj.i=arr[i];
}
alert(obj.js);

讀者不放猜一下alert會打印什么?

當然是undefined.

大家再猜一下,如果alert(obj.i)會打印什么?

當然是oocss,為什么?因為obj現(xiàn)在只有一個屬性i,而且通過兩次循環(huán),obj.i前面的被后面的覆蓋掉.

如果有需求,需要動態(tài)添加屬性,也就是說,屬性也必須是一個變量才行,如上例代碼,alert(obj.js)不是undefined,而是jquery,該如何修改呢?
復制代碼 代碼如下:
var arr=[];
arr['js']='jquery';
arr['css']='oocss';
var obj={};
for(var i in arr)
{

obj[i]=arr[i];
}
alert(obj.js);

就是那么簡單!把對象obj當成一個數(shù)組來對待,它支持使用類似于下標形式的方法來把屬性和屬性值賦給對象.但是,對象依然是對象,obj.length是不存在的.

JavaScript技術使用變量動態(tài)設置js的屬性名,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 洪金宝电影| 麻仓桃| 首映式| 班娜娃·黑玛尼| 国庆节安全公约| 玫瑰的故事在线看| 我的极品女神 电影| 我的幸福婚约电影| 电影《donselya》在线观看| 我等伊人来简谱| 视频999| 她回来了| 韩佳熙演的所有电影有哪些| 电影白百合| 黑木美纱| www.五月天| 邵雨薇电影| 复仇者联盟4在线完整版观看| 周杰伦《退后》歌词| 罗伯特·杜瓦尔| 汪佳辉| 美食总动员在线观看完整版免费| 秋天不回来吉他谱扫弦| 视频精品| 美丽交易| 台湾卫视| 《满意度》电影免费观看| 孙兴电影| angelawhite在线av| 打手板心视频80下| 用力快点| 许嵩是哪里人| 代高政最新短剧| 最佳女婿 电影| 天机太阴在命宫| 电视剧一帘幽梦| 肋骨骨折的护理ppt| 大森南朋| 快乐到底| free loop中文版歌词| 有关动物的成语|