酷!學園

技術討論區 => 網頁技術 => 主題作者是: dark 於 2015-06-09 11:49

主題: 請問 javascript 陣列中的物件問題
作者: dark2015-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 去哪了 ?


謝謝!!
主題: Re: 請問 javascript 陣列中的物件問題
作者: Yamaka2015-06-09 12:37
代碼: [選擇]
data[1]=eval(data[1]+";");
document.write("x: " + x + "<br>" + x.b1 + "<br><br>");

result:
x: [object Object]
b1v
主題: Re: 請問 javascript 陣列中的物件問題
作者: dark2015-06-09 13:21
變成能直接呼叫的變數了喔 ... 這麼奇妙
id , name 都呼叫不到 , 應該不是 objectHTML

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


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

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


謝謝 !!
主題: Re: 請問 javascript 陣列中的物件問題
作者: Yamaka2015-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"

來確認函數是否存在
主題: Re: 請問 javascript 陣列中的物件問題
作者: dark2015-06-09 16:23
感謝 !!

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

謝謝!!