三,Node.js基础知识(1)

来源:互联网 发布:大数据相关上市公司 编辑:程序博客网 时间:2024/05/17 19:22

1,Node.js中的控制台

在Node中使用console对象代表控制台,可以通过console对象的各种方法向控制台中进行标准输出流或标准错误输出流。

1.1,console.log

该方法用于进行标准的输出流的输出,就是在控制台中输出一行字符串。

console.log("这是控制台输出流!");

或者将上面的代码console.log("这是控制台输出流!");写在<文件名>.js
在控制台中输出

node <文件名>.js;

输出重定向:

node <文件名>.js > info.log;

输出格式化:

console.log("%s","node",".js");
console.log("%d",20,10.5);

1.2,console.error

用于标准错误的输出流的输出,在控制台中输出一条错误的消息。

console.log("这是控制台错误输出流!");

可以使用重定向的方法可以将错误输出流输出到错误文件中:

node notExistFile.js > error.log;

在Node中,也可以使用console.warn()方法代替console.error()方法,这两个方法有相同的作用。

1.3,console.dir

用于查看一个对象中的内容并且将该对象的信息输出到控制台中。

var user = new Object();user.name = "name";user.age = 22;user.sayHelloWorld = function(){    console.log("Hello World");}console.dir(user);

运行结果:

{name: 'name',age: 22, sayHelloWorld: [Function]}

1.4,console.time和console.timeEnd

console.time方法用于标记开始时间,console.timeEnd方法用以标记结束时间,并且将结束时间与开始时间之间经过的毫秒数在控制台中输出。

console.time("label");for(var i = 0; i < 1000000; i++){    ;}console.time("label");

运行结果:

label:4.656ms

1.5,console.trace

用于将当前位置处的栈信息作为标准错误信息进行输出。console.trace方法中可以使用任何的字符串作为参数。用于标识此处输出的标准错误信息。

var user = new Object();user.name = "name";user.getName = function(){    return this.name;};user.setName = function(){    this.name = name;};console.trace("label");

运行结果:

Trace: label    at Object.<anonymous> (D:\test.js:9:9)    at Module._compile (module.js:413:34)    at Object.Module._extensions..js (module.js:422:10)    at Module.load (module.js:357:32)    at Function.Module._load (module.js:314:12)    at Function.Module.runMain (module.js:447:10)    at startup (node.js:146:18)    at node.js:404:3

1.6,console.assert

对一个表达式的执行结果进行评估,如果该表达式的执行结果为false,则输出一个消息字符串并抛出AssertionError异常。

console.assert(1==2,"Error Message:");

运行结果:

AssertionError: Error Message:   at Console.assert (console.js:94:23)   at Object.<anonymous> (D:\test.js:1:71)   at Module._compile (module.js:413:34)   at Object.Module._extensions..js (module.js:422:10)   at Module.load (module.js:357:32)   at Function.Module._load (module.js:314:12)   at Function.Module.runMain (module.js:447:10)   at startup (node.js:146:18)   at node.js:404:3

2,Node.js中全局作用域及全局函数

可以通过exports对象将一个模块中定义的变量,函数或方法传递到模块内部。同时在Node中仍然存在一个全局作用域,及可以定义一些不需要通过任何模块的加载就可以使用的变量,函数或类。也预先定义了一些全局方法及全局类。
在Node.js中,定义了一个global对象,代表Node.js中的全局命名空间,任何全局变量,函数或对象都是该对象的属性值。
使用console.log(global)可以观察对象中的内容。

3,setTimeout和clearTimeout函数

setTimeout表示在当前时刻过去多少毫秒之后执行某个回调函数。

var start = Date.now();console.log('当前时间:' + start);setTimeout(function () {    console.log(Date.now() - start + '毫秒后,该函数执行!\r\n');}, 5000);

执行结果:

当前时间:14723023863785071毫秒后,该函数执行!

clearTimeout为了清除定时器的操作。

var flag = 0;function test(parameter){    console.log("hello world"+parameter);    flag = 1;};var timer = setTimeout(test,5000,"五秒后执行的");if(flag == 1){    clearTimeout(timer);}

执行结果:

hello world五秒后执行的

4,setInterval和clearInterval函数

setInterval表示经过一段时间重复的调用某个函数。
示例参照setTimeout和clearTimeout。

0 0