用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.log(indent + "["+p+"] => "+typeof(obj)+"");
console.log(indent + "{");
ergodic(obj[p], indent);
console.log(indent + "}");
} else if (obj[p].constructor == String) {
console.log(indent + "["+p+"] => '"+obj[p]+"'");
} else {
console.log(indent + "["+p+"] => "+obj[p]+"");
}
}
}
}
function print_r(obj) {
console.log("{")
ergodic(obj, "");
console.log("}")
}
var stu = {'name':'Alan','grade':{'Chinese':120,'math':130,'competition':{'NOI':'First prize'}}};
print_r(stu);
相关推荐
-
Node.js如何自动审核团队的代码
前言 在团队开发中,无论是写前端(js,css,html) ,还是后端 ,我们常常需要解决一个问题:如何统一团队代码风格. 这篇文章主要是使用pre-git , eslint , js-beautify 实现代码风格控制. 下面分别介绍这三个工具和使用方式: pre-git 该工具能实现git hook的功能,在git的流程中插入一些自定义行为,例如commit之前执行代码检测,如果不通过则报错. eslint 代码格式审核工具,可以随意组合配置各种风格,用于组成团队的代码统一规范. js-be
-
nodejs加密Crypto的实例代码
加密技术通常分为两大类:"对称式"和"非对称式". 对称式加密: 就是加密和解密使用同一个密钥,通常称之为"Session Key "这种加密技术在当今被广泛采用,如美国政府所采用的DES加密标准就是一种典型的"对称式"加密法,它的Session Key长度为56bits. 非对称式加密: 就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为"公钥"和"私钥",它们两个必需配对使用
-
NodeJS的模块写法入门(实例代码)
我们知道每个模块对应一个js文件,这篇写一个最简单的模块hello.js, 然后在另一个js文件(main.js)中require自定义的模块. hello.js 复制代码 代码如下: function hello(name) { console.log('hello, '+ name); } exports.hello = hello; main.js 复制代码 代码如下: var h = require('./hello'); h.hello('snandy'); 约定:hello.js和m
-
nodeJS代码实现计算交社保是否合适
按一个普通程序员8000的月收入算就是1800的社保金,而且要延迟到65岁退休,我过完年就是30岁,这笔账和余额宝比对一下,我顿时明白了 复制代码 代码如下: fuckShebao: function (req, res, next) { //每个月1800的社保 var day = (1800 / 30); //交15年交满 var full_days = 365 * 15; //到65岁退休 va
-
nodeJs爬虫获取数据简单实现代码
本文实例为大家分享了nodeJs爬虫获取数据代码,供大家参考,具体内容如下 var http=require('http'); var cheerio=require('cheerio');//页面获取到的数据模块 var url='http://www.jcpeixun.com/lesson/1512/'; function filterData(html){ /*所要获取到的目标数组 var courseData=[{ chapterTitle:"", videosData:{ v
-
轻松创建nodejs服务器(3):代码模块化
nodejs的功能块大都以模块的形式存在的. 通常会有一个统一入口index.js,然后调用不同的模块来完成我们需要的功能. 我们先来看看怎么把server.js变成一个模块让 index.js 主文件使用. 复制代码 代码如下: var http = require("http"); ... http.createServer(...); "http" 是nodejs自带的模块,我们在我们的代码中请求它并把返回值赋给一个本地变量. 我们可以用这个变量来调用 htt
-
NodeJS与Mysql的交互示例代码
把Mysql Module装到NodeJS中 Js代码 复制代码 代码如下: $npm install Mysql JS脚本 mysqlTest.js Js代码 复制代码 代码如下: // mysqlTest.js //加载mysql Module var Client = require('mysql').Client, client = new Client(), //要创建的数据库名 TEST_DATABASE = 'nodejs_mysql_test', //要创建的表名 TEST_TA
-
nodejs获取本机内网和外网ip地址的实现代码
实现代码: 复制代码 代码如下: var os = require('os');function getLocalIP() { var map = []; var ifaces = os.networkInterfaces(); console.log(ifaces); for (var dev in ifaces) { if (dev.indexOf('eth0') != -1) { var tokens = dev.split(':');
-
你一定会收藏的Nodejs代码片段
以下就是为大家分享的四段Nodejs值得收集的代码片段,供大家参考,具体内容如下 1.关于Nodejs的静态资源压缩与缓存参见:Nodejs打造静态资源服务器与文件上传刚学Express那会,动态文件的gzip压缩,好长一段时间都没找到合适的方法,才发现就是这么简单-- app.js里添加compression模块: 先安装:var compress=require('compression');app.use(compress()); OK了动态文件也能gzip压缩了: 2.抓取妹子的图片:
-
nodejs分页类代码分享
分页类,我放在 plugin/Paginate.js 复制代码 代码如下: /** * 分页插件类(缺少每页的显示数,listrows明天写) * @param page {Number} 当前页 * @param pagesize {Number} 每页记录数 * @param total {Number} 总记录数 * @constructor */function Paginate(page, pagesize, total){ if(!page || page <1){
随机推荐
- Sqlserver2005日志文件太大如何减小
- JavaScript编程设计模式之观察者模式(Observer Pattern)实例详解
- 全面了解Java中Native关键字的作用
- Asp.Net实现无限分类生成表格的方法(后台自定义输出table)
- .Net Compact Framework开发小技巧 推荐
- PHP限制页面只能在微信自带浏览器访问的代码
- jsp页面调用applet实现人民币的大小写转换
- Android实现手机拍照功能
- 详解Ubuntu Server下启动/停止/重启MySQL数据库的三种方式
- 一个shell写的ping函数
- jquery dialog获取焦点的方法
- javascript深拷贝(deepClone)详解
- Java date format时间格式化操作示例
- C#查找字符串所有排列组合的方法
- JsChart组件使用详解
- Postgresql备份和增量恢复方案
- elasticsearch python 查询的两种方法
- python_opencv用线段画封闭矩形的实例
- React Native开发封装Toast与加载Loading组件示例
- Python内存读写操作示例