遍历JavaScript对象的所有属性(js反射机制)

时间:2022-08-25 12:57:26

 http://www.javatang.com/archives/2006/09/13/442864.html

现在网上充斥着大量关于所谓JavaScript的参考手册或参考资料,大部分都是真对于微软所推出的JScript的,而不是现在我们使用Ajax使用到的JavaScript。然而关于JavaScript的参考资料非常的有限,并且解释的也不是很全面,这样在做JavaScript脚本程序的时候往往要查询大量的资料,很是耗时。
  今天无意中在网上找到了一个用来遍历JavaScript某个对象所有的属性名称和值的方法,这样想使用方法的时候非常的直观和方便。我整理成了一个函数,代码如下:

  1. /*
  2. * 用来遍历指定对象所有的属性名称和值
  3. * obj 需要遍历的对象
  4. * author: Jet Mah
  5. * website: http://www.javatang.com/archives/2006/09/13/442864.html 
  6. */ 
  7. function allPrpos(obj) { 
  8.     // 用来保存所有的属性名称和值
  9.     var props = "";
  10.     // 开始遍历
  11.     for(var p in obj){ 
  12.         // 方法
  13.         if(typeof(obj[p])=="function"){ 
  14.             obj[p]();
  15.         }else{ 
  16.             // p 为属性名称,obj[p]为对应属性的值
  17.             props+= p + "=" + obj[p] + "\t";
  18.         } 
  19.     } 
  20.     // 最后显示所有的属性
  21.     alert(props);
  22. }

真正的JavaScript而非JScript的参考手册可以看阿江整理的一些资料:http://www.ajiang.net/article/artview.asp?id=469

参考资料:
演示 for…in 循环语句示例
http://www.blabla.cn/js_examples/042_js_for_in.html
AJAX的JavaScript的反射机制
http://tech.163.com/06/0621/09/2K4MLGA20009159V.html