美文网首页
Node.js基础知识(转载)

Node.js基础知识(转载)

作者: LU7IN | 来源:发表于2018-06-03 16:57 被阅读0次

    深入学习Node之前,需要先知道Node这个框架的基本知识。

    控制台

    console对象:Node中使用该对象表示控制台,通过console对象各种方法来向控制台进行标准输出流,标准错误输出流。

    API

    •console.log(): 进行标准输出流的输出(stdout)

    console.log('hello node');//hello node
    console.log('%s',"js","node"); // 'js' 'node'
    console.log('%s','people',{name:'kb',age:20}); //people { name: 'kb', age: 20 }
    console.log('%d',1,2,3); //1 2 3
    console.log('%%',10);//% 10
    

    •console.error(): 进行标准错误流的输出用法与console.log()一样。

    •console.dir(): 查看一个对象的内容,并把对象信息输出到控制台。

    //main.js
    var person = {
      age: 38,
      name: 'kobe',
      job: function(){
        return 'player'
      }
    };
    console.log(person);
    

    运行结果如下:

    图片.png

    •console.time()与console.timeEnd() : 可以用来统计一段代码的执行时间。

    //main.js
    console.time('loop');
    for(var i =0;i < 10000;i++){
      ;
    }
    console.timeEnd('loop');
    

    运行结果如下:

    图片.png

    •console.trace(): 把当前位置的栈信息当做标准错误信息输出

    console.trace('loop');
    Trace: loop
        at Object.<anonymous> (D:\study\a.js:6:9)
        at Module._compile (module.js:570:32)
        at Object.Module._extensions..js (module.js:579:10)
        at Module.load (module.js:487:32)
        at tryModuleLoad (module.js:446:12)
        at Function.Module._load (module.js:438:3)
        at Module.runMain (module.js:604:10)
        at run (bootstrap_node.js:394:7)
        at startup (bootstrap_node.js:149:9)
        at bootstrap_node.js:509:3
    

    •console.assert(): 对一个表达式结果进行评估,结果为false,输出一个消息字符串并且抛出AssertionError异常

    Node的全局作用域

    Node中存在一个全局作用域,定义了不需要加载任何模块就可以使用的变量,函数,类。

    // 查看global对象的内容
    console.log(global);
    

    •定时器函数Node里面定义的定时器全局函数与浏览器端的定时器函数类型

    1. setTimeout(cb,ms,[arg],[..]) : //过了多少ms执行某个回调
    2. clearTimeout(timer) // 取消setTimeout回调
    3. setInterval(cb,ms,[arg],[..]): //每隔多少ms执行某个回调
    4. clearInterval(timer) // 取消setInterval回调
    5. timer(定时器对象).unref(): //取消setTimeout/setInterval回调
    6. timer.ref(): //恢复回调函数的使用
    

    •require

    1. require(): // 加载模块
    2. require.resolve('./a.js') // 'D:\\study\\a.js' 查看(不加载)某个模块文件的带完整绝对路径的文件名
    3. require.cache对象 //该对象表示缓存了所有已经被加载的模块的缓存区
    4. delete 可以删除缓存区某个模块变量对象
    

    •_ _filename与 __dirname

    console.log(__filename); //D:\study\b.js 该变量表示当前模块文件的完整绝对路径的文件名
    console.log(__dirname); //D:\study 该变量表示当前模块文件所在目录的完整绝对路径
    

    •事件处理机制/事件环机制event模块定义了一个EventEmitter类,所有可能触发事件的对象都是继承了EventEmitter类的子类的实例对象.EventEmitter类定义了很多方法处理事件

    addListener(event,listener) // 对指定的事件绑定事件处理函数
    on(event,listener) // 对指定的事件绑定事件处理函数(addListener的别名),可以对同一事件绑定不同事件处理函数
    once(event,listener) // 对指定事件只执行一次绑定的事件处理函数
    removeListener(event,listener) // 对指定事件解除事件处理函数
    removeAllListener([event]) // 对指定事件解除所有事件处理函数
    listeners(event) // 获取指定事件的所有事件处理函数
    emit(event,[args],[..]) // 手工触发指定事件
    setMaxListeners(n) // 指定事件处理函数的最大数量,默认对同一事件最大绑定10个事件处理函数.
    EventEmitter.listenCount(emitter,event) // 获取某个对象的指定事件的事件处理函数数量
    

    Node的调试器

    1. 在命令行输入 node debug <被执行的脚本文件名>// 启动调试器
    2. 启动后,输入cont/c  // 继续执行余下的代码
    3. 输入next/n // 执行下一句代码
    4. 输入step/s // 进入函数内部
    5. 输入out/o //立即执行完函数内部剩余代码
    6. setBreakpoint/sb([filename默认为当前运行脚步] , line) //设置断点
    7. clearBreakpoint/cb([filename],line) // 取消断点
    8. 在调试过程输入repl  // 进入REPL环境
    9. restart // 重新开始脚步调试
    10. kill  // 终止脚本调试
    11. list(n) // 查看当前所执行代码之前/之后的n行代码
    12. backtrace/bt  // 查看函数/外层各函数的返回位置,包括返回代码的行号,起始字符的所在位置
    13. run // 重新开始脚步调试
    14. scripts // 查看当前运行的文件,及所有被加载的模块文件名. 
    15. version // 显示V8引擎版本号
    

    相关文章

      网友评论

          本文标题:Node.js基础知识(转载)

          本文链接:https://www.haomeiwen.com/subject/pbijsftx.html