js打印object对象中拥有的方法名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js打印object对象中拥有的方法名相关的知识,希望对你有一定的参考价值。

参考技术A js调试中经常会碰到输出的内容是对象而无法打印的时候,光靠alert只能打印出object标示,却不能打印出来里面的内容,甚是不方便,于是各方面整理总结了如下一个函数,能够将数组或者对象这类的结果一一打印出来,具体代码如下:

function writeObj(obj) var description = ""; for(var i in obj) var property=obj[i]; description+=i+" = "+property+""; ;

另外当你需要将object对象转换为string字符串。
参考技术B 对象中拥有的方法名可以通过Object.getOwnPropertyNames方法来获取,这个方法会返回一个字符串数组,包含了对象中所有的方法名。

JS打印对象的方法&将Object转换为String的函数

1、有时候需要把对象中的字段属性打印出来,下面用JS实现输出对象:

1 function writeObj(obj) {
2             var description = "";
3             for (var i in obj) {
4                 var property = obj[i];
5                 description += i + " = " + property + "\n";
6             }
7             alert(description);
8         }

2、结果对象是object而无法查看该对象里面的内容,用下面的函数,可以将其转化为字符串类型,然后就可以打印出来了,具体代码如下:

 1 function obj2string(o){ 
 2     var r=[]; 
 3     if(typeof o=="string"){ 
 4         return "\""+o.replace(/([\‘\"\\])/g,"\\$1").replace(/(\n)/g,"\\n").replace(/(\r)/g,"\\r").replace(/(\t)/g,"\\t")+"\""; 
 5     } 
 6     if(typeof o=="object"){ 
 7         if(!o.sort){ 
 8             for(var i in o){ 
 9                 r.push(i+":"+obj2string(o[i])); 
10             } 
11             if(!!document.all&&!/^\n?function\s*toString\(\)\s*\{\n?\s*\[native code\]\n?\s*\}\n?\s*$/.test(o.toString)){ 
12                 r.push("toString:"+o.toString.toString()); 
13             } 
14             r="{"+r.join()+"}"; 
15         }else{ 
16             for(var i=0;i<o.length;i++){ 
17                 r.push(obj2string(o[i])) 
18             } 
19             r="["+r.join()+"]"; 
20         }  
21         return r; 
22     }  
23     return o.toString(); 
24 } 

 

以上是关于js打印object对象中拥有的方法名的主要内容,如果未能解决你的问题,请参考以下文章

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印内容带有文件文件名方法名行号 等信息,方便定位日志输出的地方

Yii2 获取模块名控制器名方法名

java基础知识之一:命名规则(包名类名变量名方法名)

thinkphp5 tp5 获取模块名控制器名方法名

C++ 自定义项目日志库,支持log分级标签耗时统计显示文件名方法名行号信息等,Windows&Linux通用

19实例化对象