有專家達人知道
假如有一個 dom物件是這樣
obj={
a:123,
b:"in",
c:function(){},
d:this.length,
e:a //定義不合法 why?
}
要把它變成陣列
有沒指令 或方法可以
可以把牠用逗號 依序變成一個陣列呢?
splict 只能處理字串 不能用
另外d:this.length 指的是什麼
我alert結果是 0
還有就是e:a ..為什麼什麼這樣定義不合法
a=123 ,e=a . e怎麼不能是 123 ?
那在 obj裡面的各個變數跟變數值
要怎麼互傳呢?
另外陣列要怎麼變成 物件?
e:a
用意應該是要存取obj的a屬性吧?雖然不知道在沒有任何加工的情況,為什麼要指定a屬性給e,但是如果真的要做的話,可以像這樣
<pre class="c" name="code">e:function(){
return this.a;
}
如此一來,使用 obj.e(),就可以取得a值。
像這種用法,比較合理的用法像是:
<pre class="c" name="code">var person = {
firstName:'Bill',
lastName:'Evans',
fullName: function(){
return this.firstName + " " + this.lastName;
}
}
如此一來,就可以在定義時,存取物件的屬性。
可以很正常執行:
<pre class="c" name="code"><script>
obj={
a:123,
e:function(){return this.a;}
};
alert(obj.e());
</script>