zoukankan      html  css  js  c++  java
  • NodeJs实用工具util

    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

  • 相关阅读:
    Java Code Template
    FTP服务器文件上传的代码实现
    CentOS 7 安装vsftpd 服务器
    Nginx 403 forbidden的解决办法
    CentOS 7中使用iptables
    CentOS下安装Nginx服务器
    HTML5:web socket 和 web worker
    HTML5新增元素、标签总结
    js页面刷新之实现框架内外刷新(整体、局部)
    js页面刷新之实现定时刷新(定时器,meta)
  • 原文地址:https://www.cnblogs.com/Francis-YZR/p/5265055.html
Copyright © 2011-2022 走看看