作者 主題: 請問 javascript 陣列中的物件問題  (閱讀 5836 次)

0 會員 與 1 訪客 正在閱讀本文。

dark

  • 俺是博士!
  • *****
  • 文章數: 1581
    • 檢視個人資料
請問 javascript 陣列中的物件問題
« 於: 2015-06-09 11:49 »
代碼: [選擇]
<script src="jquery-1.7.1.min.js"></script>
<script>

aaa="a,x={'b1':'b1v'},c";

data=aaa.split(",");
data[1]=eval(data[1]+";");


var output='data:<br>';
$.each(data, function( key, value ) {
output+=key+"="+value+"<br>";
});
document.write(output);

var output='<br><br><br>data[1]:<br>';
$.each(data[1], function( key, value ) {
output+=key+"="+value+"<br>";
});
document.write(output);
</script>

執行結果
代碼: [選擇]
data:
0=a
1=[object Object]
2=c



data[1]:
b1=b1v

如上:
請問 x 去哪了 ?


謝謝!!

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
Re: 請問 javascript 陣列中的物件問題
« 回覆 #1 於: 2015-06-09 12:37 »
代碼: [選擇]
data[1]=eval(data[1]+";");
document.write("x: " + x + "<br>" + x.b1 + "<br><br>");

result:
x: [object Object]
b1v

dark

  • 俺是博士!
  • *****
  • 文章數: 1581
    • 檢視個人資料
Re: 請問 javascript 陣列中的物件問題
« 回覆 #2 於: 2015-06-09 13:21 »
變成能直接呼叫的變數了喔 ... 這麼奇妙
id , name 都呼叫不到 , 應該不是 objectHTML

那他存在的位置是哪裡呢 ?
document.scripts , document.currentScript 都找不到他


另外請教 ..
jquery 的 .find 是找 dom 中的物件
是否所指的是 , 只能找 document.body 這範圍 ?

javascript 的變數 、function 等
使用 .find() 找不到 , 一般都如何找呢 ?


謝謝 !!

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
Re: 請問 javascript 陣列中的物件問題
« 回覆 #3 於: 2015-06-09 14:59 »
(1)
代碼: [選擇]
for(var item in window) {
  if (item === 'x') {
    console.log(window[item].b1);
  }
}

result:
"b1v"

---

(2)
代碼: [選擇]
console.log($("#js2").attr('class'));
console.log($(".headclass").attr('id'));

result:
"jsclass"
"head1"

以結果來看,應該是可以找到整個 html 文件內的資料

---
(3)
如果知道函數名,可以用

typeof func_name === "function"

來確認函數是否存在

dark

  • 俺是博士!
  • *****
  • 文章數: 1581
    • 檢視個人資料
Re: 請問 javascript 陣列中的物件問題
« 回覆 #4 於: 2015-06-09 16:23 »
感謝 !!

變成 window 下了 ...
看來小弟對 window , document , html 架構間關係還有待加強

謝謝!!