繁体   English   中英

我怎么知道javascript对象具有的所有属性?

[英]How can I know all the attributes a javascript object has?

是否有类似Java反射的东西可以让我知道可用的属性?

for(var key in myObject) {
    //do something with key
}

通过所有属性枚举

window对象http://jsfiddle.net/KdyLG/的所有属性

这是我使用的一项功能。 您可以指定要转储的阵列级别。

alert(dump(myArray));

function dump(arr,level) {
    var dumped_text = "";
    if(!level) level = 0;

    //The padding given at the beginning of the line.
    var level_padding = "";
    for(var j=0;j<level+1;j++) level_padding += "    ";

    if(typeof(arr) == 'object') { //Array/Hashes/Objects 
        for(var item in arr) {
            var value = arr[item];

            if(typeof(value) == 'object') { //If it is an array,
                dumped_text += level_padding + "'" + item + "' ...\n";
                dumped_text += dump(value,level+1);
            } else {
                dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
            }
        }
    } else { //Stings/Chars/Numbers etc.
        dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
    }
    return dumped_text;
}

一种方法:

for(var attrib in myObject){    

 if(typeof attrib != 'function') {

     alert('this is attribute ' + attrib + 'with value' +  myObject[attrib]);    
 } }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM