function ShowObjProperty(Obj) 

var PropertyList=''; 
var PropertyCount=0; 
for(i in Obj){ 
if(Obj.i !=null) 
PropertyList=PropertyList+i+'属性:'+Obj.i+'\r\n'; 
else 
PropertyList=PropertyList+i+'方法\r\n'; 

alert(PropertyList); 
代码如下:

<script type="text/javascript"> 
// 创建一个对象 myObject 以及三个属性 sitename, siteurl, sitecontent。 
var myObject = new Object(); 
myObject.sitename = "布啦布啦"; 
myObject.siteurl = "blabla.cn"; 
myObject.sitecontent = "网页教程代码图库的中文站点"; 
//遍历对象的所有属性 
for (prop in myObject) 

document.write("属性 '" + prop + "' 为 " + myObject[prop]); 
document.write(" 
"); 

</script> 

今天网上Java Tang博客找到了一个用来遍历JavaScript某个对象所有的属性名称和值的方法,这样想使用方法的时候非常的直观和方便。代码如下:

复制代码代码如下:

/* 
* 用来遍历指定对象所有的属性名称和值 
* obj 需要遍历的对象 
* author: Jet Mah 
*/ 
function allPrpos ( obj ) { 
// 用来保存所有的属性名称和值 
var props = "" ; 
// 开始遍历 
for ( var p in obj ){ 
// 方法 
if ( typeof ( obj [ p ]) == " function " ){ 
obj [ p ]() ; 
} else { 
// p 为属性名称,obj[p]为对应属性的值 
props += p + " = " + obj [ p ] + " \t " ; 


// 最后显示所有的属性 
alert ( props ) ; 

AJAX的JavaScript的反射机制,反射机制指的是程序在运行时能够获取自身的信息。例如一个对象能够在运行时知道自己有哪些方法和属性。 在JavaScript中利用for(…in…)语句实现反射,其语法如下:

for(var p in obj){ 
//语句 
}

在Ajax编程中,经常要能动态的改变界面元素的样式,这可以通过对象的style属性来改变,比如要改变背景色为红色,可以这样写: 
element.style.backgroundColor="#ff0000";

基本上CSS里拥有的属性在JavaScript中都能够使用:

复制代码代码如下:

function setStyle(_style){ 
//得到要改变样式的界面对象 
var element=getElement(); 
element.style=_style; 

直接将整个style对象作为参数传递了进来:

复制代码代码如下:

var style={ 
color:#ffffff, 
backgroundColor:#ff0000, 
borderWidth:2px 

这时可以这样调用函数: 
setStyle(style);

或者直接写为: 
setStyle({ color:#ffffff,backgroundColor:#ff0000,borderWidth:2px});

这段代码看上去没有任何问题,但实际上,在setStyle函数内部使用参数_style为element.style赋值时,如果element原先已经有了一定的样式,例如曾经执行过: 
element.style.height="20px";

而_style中却没有包括对height的定义,因此element的height样式就丢失了,不是最初所要的结果。要解决这个问题,可以用反射机制来重写setStyle函数:

复制代码代码如下:

function setStyle(_style){ 
//得到要改变样式的界面对象 
var element=getElement(); 
for(var p in _style){ 
element.style[p]=_style[p]; 

程序中遍历_style的每个属性,得到属性名称,然后再使用方括号语法将element.style中的对应的属性赋值为_style中的相应属性的值。从而,element中仅改变指定的样式,而其他样式不会改变,得到了所要的结果。^-^

转载于:https://www.cnblogs.com/goody9807/archive/2012/11/23/2784215.html

显示js对象所有属性和方法的函数相关推荐

  1. 161227、js显示对象所有属性和方法的函数

    要想看到实际效果,可以先声明一些属性跟方法,否则是看不到,仔细往下看有例子的. function ShowObjProperty(Obj) { var PropertyList=''; var Pro ...

  2. as3遍历对象所有属性的方法

    as3遍历对象所有属性的方法(包含Flex) 1.所有对象,包括静态属性和动态属性 ObjectUtil.getClassInfo(this._arr[0]).properties as Array ...

  3. Js对象如何添加方法、查看Api

    js万物皆对象,要带着观察对象的眼观去看待每一个函数.变量. 为什么要用到原型? Es6以前,js中没有如ooa编程当中的class,但是要用到类,怎么办呢,构造函数就应运而生,但是构造函数里面添加方 ...

  4. JS 对象直接量方法创建对象

    以前在进行软件开发的时候,我一直都是用全局变量来进行函数之间的通信,因为当时学习并理解的方法也就这种方便快捷易懂,不过写多了之后发现,使用全局变量其实有比较多的坏处: 在开发的初期阶段,一般是先搭建框 ...

  5. 多个html网页共享变量,多个jsp页面共享一个js对象的超级方法

    今天,在项目中遇到一个问题,两个js页面要共享一个就js对象.js全局变量和静态变量都不行,其他苦逼的小农们就不要去强求了.而LZ又不想用cookie来存放,一是不安全,二个人喜好.最后发现一种超级方 ...

  6. vue js对象拷贝的方法简单易用

    对象拷贝的方法是一个难点,尤其是深拷贝.建议把代码都运行下,帮助理解拷贝. 一. json方法 适合情况:  JSON对象的深度克隆.方法是先JSON.stringify() 转为json字符串, 再 ...

  7. JS对象——数组处理方法filter方法

    filter()方法 1.filter()方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素(如果没有符合条件则返回空数组). 注意 filter()方法不会对空数组进行检测, ...

  8. js复制html样式,js对象深拷贝的方法

    js 怎么把对象深拷贝到另一个对象 buy:function(buyList){buyList.forEach(function(good){good.farmer=this;});},buy是Far ...

  9. JS对象 - Array属性方法汇总

    属性名 描述 prototype 为对象添加属性.方法 constructor 返回数组对象引用 length 返回数组元素数目 方法名 描述 返回 更改原数组 concat() 连接多个数组 连接后 ...

最新文章

  1. 前端面试官,我为什么讨厌你。
  2. 5款实用的硬盘、SSD固态硬盘、U盘、储存卡磁盘性能测试工具绿色版
  3. 获取套接字相关联信息
  4. 你们都被电视剧版的 《西游记》给骗了!| 今日趣图
  5. kafka修改默认端口号
  6. ironpython不想要可以卸载吗_IronPython的致命弱点
  7. poi excel 导入导出
  8. python画图小实例_Python画高斯分布图形实例代码
  9. 【机器学习系列】MCMC第四讲:Metropolis Hastings采样算法
  10. javaScript入门
  11. matlab yalmip cplex,matlab – CPLEX YALMIP – “未找到解算器”?
  12. QAM识别算法matlab,16qam调制识别matlab
  13. 什么是数据湖?为什么需要数据湖?
  14. 基于51单片机的交通灯控制系统课程设计(含proteus仿真图及代码)
  15. 编程序也得劳逸结合,不能太累。。。
  16. Microsoft Office 2016 和 Visio 2016 自定义安装的安装包 非即装即用版本
  17. 游戏专题类,web网页模板分享,前端期末作业,静态页面,带轮播图,登录页
  18. 后台找gridview里面的控件id_Windows系统有此缺陷:没设ID的,就是1001?+Windows编程如何解决...
  19. Windows10家庭版如何获取administrators的权限
  20. 五种常见户外LED显示屏模组故障维修方法

热门文章

  1. GraphLab:新的面向机器学习的并行框架
  2. mvdr波束形成原理_有了波束赋形这个5G黑科技,让你畅享飞一样的网速
  3. linux 修改文件夹权限_Linux文件权限 - Understanding Linux File Permissions
  4. 服务器下最大能容量多少文件,windows下一个文件夹下面最多可以放多少文件(ntfs格式略过)...
  5. php 文件上传框架,Laravel框架实现文件上传的方法分析
  6. cypress离线安装_【拆一个高端货】 美国NI公司 GPIB-USB转接卡 长标题
  7. Broker 的 Heap Size 如何设置?
  8. clickhouse入门与安装
  9. hive建表报错JsonSerDe
  10. 用ado.net取数据库中table、column的信息