小伙子,你的NodeJS(6)

today, 我们的话题作文是nodejs,我尝试对它的描述是:似曾相似,但它又不一样的存在着。百花齐放的it世界里,以独特身姿绽放的美丽更容易吸引人。也许只是不了解,也许时间会给出答案,nodejs你值得拥有。

本篇涉及的东西是Nodejs的util模块,实用工具.

1.util.inspect(object[, options])

返回一个对象的字符串表现形式,通常用于调试和错误输出,在代码调试的时候非常有用。

通过加入一些可选选项,来改变对象的格式化输出形式:

  • showHidden - 如果为 true,将会显示对象的不可枚举属性。默认为 false
  • depth - 告诉 inspect 格式化对象时递归多少次。这在格式化大且复杂对象时非常有用。默认为 2。如果想无穷递归的话,传 null 。
  • colors - 如果为 true, 输出内容将会格式化为有颜色的代码。默认为 false, 颜色可以自定义,参见下文。
  • customInspect - 如果为 false, 那么定义在被检查对象上的inspect(depth, opts) 方法将不会被调用。 默认为true。

检查 util 对象上所有属性的例子:

var util = require(‘util‘);

console.log(util.inspect(util, { showHidden: true, depth: null }));

2.util.format(format[, ...])

使用第一个参数返回一个格式化的字符串,类似 printf

第一个参数是字符串,它包含 0 或更多的占位符。每个占位符被替换成想要参数转换的值。支持的占位符包括:

  • %s - 字符串.
  • %d - 数字 (整数和浮点数).
  • %j - JSON. 如果参数包含循环引用,将会用字符串替换R
  • %% - 单独一个百分号 (‘%‘)。 不会消耗一个参数。

如果占位符没有包含一个相应的参数,占位符不会被替换。

util.format(‘%s:%s‘, ‘foo‘); // ‘foo:%s‘

如果参数超过占位符,多余的参数将会用 util.inspect() 转换成字符串,并拼接在一起,用空格隔开。

util.format(‘%s:%s‘, ‘foo‘, ‘bar‘, ‘baz‘); // ‘foo:bar baz‘

如果第一个参数不是格式化字符串,那么 util.format() 会返回所有参数拼接成的字符串(空格分割)。每个参数都会用 util.inspect() 转换成字符串。

util.format(1, 2, 3); // ‘1 2 3‘

3.util.log(string)

在 stdout 输出并带有时间戳.

require(‘util‘).log(‘Timestamped message.‘);

4.util.inherits(constructor, superConstructor)

从一个构造函数constructor继承原型方法到另一个。构造函数的原型将被设置为一个新的从超类(superConstructor)创建的对象。

==>util.inherits(sub,base)
sub仅仅只会继承base中在原型定义的成员,不会继承base构造函数的成员。
使用console.log(对象)时,不会打印原型定义的成员,仅仅只是打印构造函数定义的成员.

var util=require(‘util‘);
function Mother(){
    this.name="Mom";
    this.Skill="Love Me";
    this.sayHello=function(){
        console.log("Hello ,I am "+this.name);
    }
}
Mother.prototype.sayByeBye=function(){
    console.log("Good Bye ,I am "+this.name);
}
function Son(){
    this.name="YZR";
}
util.inherits(Son,Mother);

var M=new Mother();
M.sayHello();
M.sayByeBye();
console.log(M);
var S=new Son();
S.sayByeBye();
console.log(S);

========================================================
E:\>cd nodejs
E:\NodeJS>node inherits.js
Hello ,I am Mom
Good Bye ,I am Mom
Mother { name: ‘Mom‘, Skill: ‘Love Me‘, sayHello: [Function] }
Good Bye ,I am YZR
Son { name: ‘YZR‘ }

5.util.isArray(object)

Array.isArray 的内部别名。

如果参数 "object" 是数组,返回 true ,否则返回 false 。

6.util.isRegExp(object)

如果参数 "object" 是 RegExp 返回 true ,否则返回 false

7.util.isDate(object)

如果参数 "object" 是 Date 返回 true ,否则返回 false

8.util.isError(object)

如果参数 "object" 是 Error 返回 true ,否则返回 false

详细请查看api:http://wiki.jikexueyuan.com/project/nodejs/utilities.html

时间: 2024-08-08 03:27:13

小伙子,你的NodeJS(6)的相关文章

小伙子,你的NodeJS(5)

today, 我们的话题作文是nodejs,我尝试对它的描述是:似曾相似,但它又不一样的存在着.百花齐放的it世界里,以独特身姿绽放的美丽更容易吸引人.也许只是不了解,也许时间会给出答案,nodejs你值得拥有. 本篇来聊一点:  1.nodejs的全局对象(重点process)  2.process进程.  3.console. 1.global全局对象 在NodeJs中的全局对象是global,所有全局变量,除了global本身以外都是blobal对象的属性.通常在NodeJs能够直接访问到

小伙子,你的NodeJS(3)

today, 我们的话题作文是nodejs,我尝试对它的描述是:似曾相似,但它又不一样的存在着.百花齐放的it世界里,以独特身姿绽放的美丽更容易吸引人.也许只是不了解,也许时间会给出答案,nodejs你值得拥有. 在2篇中我们接触了一点点关于nodejs包(package)的话题,那么乘热打铁,本篇聊一下包管理工具npm. 1.npm 包管理工具 Node.js包管理器,即npm是Node.js官方提供的包管理器工具,他已经成了Node.js包的标准发布平台,用于Node.js包的发布,传播,依

Node.js 使用angularjs取得Nodejs http服务端返回的JSON数组示例

server.js代码: // 内置http模块,提供了http服务器和客户端功能(path模块也是内置模块,而mime是附加模块) var http=require("http"); // 创建服务器,创建HTTP服务器要调用http.createServer()函数,它只有一个参数,是个回调函数,服务器每次收到http请求后都会调用这个回调函数.服务器每收到一条http请求,都会用新的request和response对象触发请求函数. var server=http.createS

Nodejs + MongoDb

一.搭建开发环境 进入 http://nodejs.org 下载开发环境 http://Expressjs.com 下载安装Express  npm install -g express 继续安装ejs:npm install ejs 如果要想运行Node.js程序,则现在只能够使用“node app.js”,而这样的运行方式,如果在app.js文件修改之后往往需要重新启动才可以加载新的内容,这对于开发是非常不方便的, 为此,可以使用一个supervisor组件包,它可以动态的加载修改之后的开发

nodejs应用在linux服务器中的部署

1.(可选)添加用户: addgroup wmui添加用户组useradd -d /home/wmui -s /bin/bash -m wmui创建wmui用户passwd wmui设置密码,如果忘记密码,也可用此命令重置密码usermod -a -G wmui wmui 添加用户到组visudo 设置sudo权限然后会跳转到下面页面 root ALL=(ALL:ALL) ALL下面添加wmui ALL=(ALL) NOPASSWD: ALLctrl+x保存退出接下来打开一个新的窗口,测试是否登

centos 6.5安装NodeJS

centos 6.5安装NodeJS 下载 可以在本地下载node.js最新版,然后通过ftp工具上传到服务器,或者直接在服务器终端使用wget命令下载(我当时下载的是node-v7.5.0-linux-x86版本,其他版本请查看上面链接然后替换即可): $ wget http://nodejs.org/dist/latest/node-v7.5.0-linux-x86.tar.gz 解压 进入服务器终端,找到上传或者下载的安装包,解压 $ tar -zvxf node-v7.5.0-linux

NodeJS之queryString

前面的话 无论是前端还是后端,经常出现的应用场景是URL中参数的处理.nodeJS的queryString模块提供了一些处理 query strings 的工具.本文将详细介绍nodeJS中的queryString var querystring = require('querystring'); /* { unescapeBuffer: [Function], unescape: [Function: qsUnescape], escape: [Function], encode: [Func

进阶之初探nodeJS

一.前言 在"初探nodeJS"随笔中,我们对于node有了一个大致地了解,并在最后也通过一个示例,了解了如何快速地开启一个简单的服务器. 今儿,再次看了该篇随笔,发现该随笔理论知识稍多,适合初级入门node,固萌生一个想法--想在该篇随笔中,通过一步步编写一个稍大一点的node示例,让我们在整体上更加全面地了解node. so,该篇随笔是建立在"初探nodeJS"之上的,固取名为"进阶之初探nodeJS". 好了,侃了这多,那么我们即将实现一个

引用nodejs的url模块实现url路由功能

我们在本地创建服务器之后需要写不同的后缀名来访问同一个站点的不同页面,如果不实现路由功能.则每次访问localhost:3000 不论后面写什么  比如localhost:3000/index.localhost:3000/detail...最终都会访问同一个地址:而用url路由则可以实现访问不同的页面:在实现url路由功能之前,首先需要引入url模块:const url = require('url');  nodejs 为我们提供了url模块,并且提供了url模块的一些方法: 最终要的方法是