用js写了一个类似php的print_r输出换行功能

代码如下:

<script type="text/javascript">
<!--
var my={
str:'',
deep:0,
block:' ',
get_pre:function(n)
{
pre='';
for(i=0;i<n;i++)
{
pre+=this.block;
}
return pre;
},
show_obj:function(obj)
{
for(k in obj)
{
if(typeof(obj[k])!='object' && typeof(obj[k])!='array')
{
pre=this.get_pre(this.deep);
this.str+=pre+k+'=>'+obj[k]+'\n';
}
else if(typeof(obj[k])=='object' && typeof(obj[k].length)=='undefined')//如果是对象
{
pre=this.get_pre(this.deep);
this.str+=pre+k+'=>OBJECT{\n';
this.deep++;//开始递归,深度+1
this.show_obj(obj[k]);
pre = this.get_pre(this.deep);
this.deep--;//递归结束一个 深度-1
this.str+=pre+'}\n';
}
else if(typeof(obj[k])=='object' && typeof(obj[k].length)!='undefined')//如果是数组
{
pre=this.get_pre(this.deep);
this.str+=pre+k+'=>ARRAY[\n';
this.deep++;//同对象
this.show_obj(obj[k]);
pre = this.get_pre(this.deep);
this.deep--;//同对象
this.str+=pre+']\n';
}
}
return this.str;
},
alert_obj:function(obj)
{
alert(this.show_obj(obj))
}
}
my.alert_obj({a:{b:{c:{d:'hello world'}}}});
//-->
</script>

chrome 可以用 console.log
ie的话,

(0)

相关推荐

  • PHP echo,print,printf,sprintf函数之间的区别与用法详解

    1. echo函数: 输出函数,是命令,不能返回值.echo后面可以跟很多个参数,之间用分号隔开,如: echo $myvar1; echo 1,2,$myvar,"<b>bold</b>"; 2. print函数: 是函数,可以返回一个值,只能有一个参数. int print ( string arg ) Outputs arg . Returns 1 , always. 3. printf函数: int printf ( string format [, m

  • PHP中echo,print_r与var_dump区别分析

    本文较为详细的分析了PHP中echo,print_r与var_dump区别.分享给大家供大家参考.具体分析如下: 三者都是具有输出功能的php语句,但print_r(expression),var_dump(expression)是函数,echo只是语言结构,不是函数,因此不能作为表达式的一部分. 对于操作php的8种数据类型来说: ① echo 用于输出数值变量或者是字符串.但使用echo来输出引用变量时,如数组,仅输出数组的名字:当输出一个对象时,服务器提示<Catchable fatal

  • 使用lua实现php的print_r()函数功能

    之前写了一些类似php的函数,下面再来一个print_r()函数,代码如下: 复制代码 代码如下: function pr (t, name, indent)       local tableList = {}       function table_r (t, name, indent, full)           local id = not full and name or type(name)~="number" and tostring(name) or '['..n

  • php中print(),print_r(),echo()的区别详解

    echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用) print()      只能打印出简单类型变量的值(如int,string) print_r() 可以打印出复杂类型变量的值(如数组,对象) echo        输出一个或者多个字符串 print --输出一个字符串 Description int print ( string arg )//返回值为整形 print " 你好朋友" ; 可以进行下面操作 复制代码 代码如下:

  • PHP学习之输出字符串(echo,print,printf,print_r和var_dump)

    下面一一进行介绍. 1. echo echo 是PHP的一个关键字,它没有返回值.在写法上,它可以省略小括号.如下代码: 复制代码 代码如下: echo 'Test String'; echo('Test String'); 2. print print 也是PHP的一个关键字,它有返回值,一般返回true,返回false的情况应该没有.在写法上,它和echo一样,可以省略小括号.如下代码: 复制代码 代码如下: print 'Test String'; print('Test String')

  • php输出echo、print、print_r、printf、sprintf、var_dump的区别比较

    用.net开发已经5年了,最近突然想接触一下.net以外的东西,于是乎就来看看php了.在学习php中首先看看几个输出函数.一.echoecho() 实际上不是一个函数,是php语句,因此您无需对其使用括号.不过,如果您希望向 echo() 传递一个以上的参数,那么使用括号会发生解析错误.而且echo是返回void的,并不返回值,所以不能使用它来赋值.例子: 复制代码 代码如下: <?php  $a = echo("55nav"); // 错误!不能用来赋值  echo &quo

  • php中理解print EOT分界符和echo EOT的用法区别小结

    html与php编写中echo可以同时输出多个字符串,并不需要圆括号. print只可以同时输出一个字符串,需要圆括号. print的用法和C语言很像,所以会对输出内容里的%做特殊解释. echo无返回值,print()有返回值,当其执行失败(比如断线)时返回flase . echo可以多个参数,print一个参数.推荐用echo. 看下面的例子就能明白php中print <<<EOT是干什么用的了: 复制代码 代码如下: print <<<EOT <html&g

  • 用nodejs实现PHP的print_r函数代码

    复制代码 代码如下: function ergodic(obj,indentation){  var indent = "  " + indentation;  if(obj.constructor == Array || obj.constructor == Object){ for(var p in obj){      if(obj[p].constructor == Array|| obj[p].constructor == Object){        console.lo

  • 用js写了一个类似php的print_r输出换行功能

    复制代码 代码如下: <script type="text/javascript"> <!-- var my={ str:'', deep:0, block:' ', get_pre:function(n) { pre=''; for(i=0;i<n;i++) { pre+=this.block; } return pre; }, show_obj:function(obj) { for(k in obj) { if(typeof(obj[k])!='objec

  • 用js写的一个路由(简单实例)

    前几天在网上看了一个大牛用js写了一个路由的,有一句代码一直不知道怎么回事,后来就自己写了一个,写的比较的粗糙,我觉得把面向对象的思想都搞得乱七八糟的,不过功能实现了. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>js实现路由</title> </head> <body> &l

  • 用JS写的一个Ajax库(实例代码)

    myajax是一个用js编写的一个跨浏览器的ajax库,支持get, post, jsonp请求,精巧,简单. 一.发送GET请求: myajax.get({ <span style="white-space:pre"> </span>data: {}, //参数 url: "", //请求地址 //发生错误是调用 error: function(data) { }, //请求成功调用 success: function(data){ <

  • 用JS写了一个30分钟倒计时器的实现示例

    前端页面倒计时功能在很多场景中会用到,如很多秒杀活动等,本文主要介绍了用JS写了一个30分钟倒计时器的实现示例,感兴趣的可以了解一下 <!DOCTYPE HTML> <html>     <head>         <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>         <title>Countdown Tim

  • js 数组实现一个类似ruby的迭代器

    分为如下几节: ·基本实现 ·在迭代中引用原来的对象,或者直接改变数组的值而不是返回一个新数组 ·向迭代传入无限多的参数 ·基本实现 今天突然发现js的数组处理起来真是麻烦,代码一些就是一大堆,相比起ruby的迭代器来真是逊色不少,主要是要写的代码太多了,也许是js有特殊的处理数组的方式,真是我不知道而已,但是我真的想自己给js实现一个类似ruby的迭代器的东东,而且实现起来也不难,那就开始动手吧. 真的应该庆幸js是动态语言啊,如果是静态语言,实现起来很不方便(别说要我重新定义一个继承自arr

  • 纯css+js写的一个简单的tab标签页带样式

    最近经常要用tab标签页,所以写了一个简单的,以后用的话直接拷贝一个,稍微改改就OK了. 先看效果图:  接下来看下代码怎么写的吧: 一.sp文件easytab.jsp 复制代码 代码如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String b

  • 使用js写的一个简易的投票

    大家直接自己看吧,请多多指教,这个是几个月前写的,现在全部整理一下. 复制代码 代码如下: <!doctype html> <html> <head> <meta charset="utf-8" > <title></title> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/j

  • 用JS写的一个TableView控件代码

    请看看编码是否规范,使用是否方便HTML: 代码 复制代码 代码如下: <table id="customTableView"> <thead> <tr> <td>编号</td> <td>姓名</td> </tr> </thead> <tbody><!--template-tbody--> <tr name="" style=&q

  • 使用原生js写的一个简单slider

    复制代码 代码如下: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> body,div,ul,li { margin: 0; padding: 0; } ul,li { list-style:

  • 使用Node.js写一个代码生成器的方法步骤

     背景 第一次接触代码生成器用的是动软代码生成器,数据库设计好之后,一键生成后端 curd代码.之后也用过 CodeSmith , T4.目前市面上也有很多优秀的代码生成器,而且大部分都提供可视化界面操作. 自己写一个的原因是因为要集成到自己写的一个小工具中,而且使用 Node.js 这种动态脚本语言进行编写更加灵活. 原理 代码生成器的原理就是: 数据 + 模板 => 文件 . 数据 一般为数据库的表字段结构. 模板 的语法与使用的模板引擎有关. 使用模板引擎将 数据 和 模板 进行编译,编译

随机推荐