1.node.js中的console对象
1.1console.log():用于输出信息
console.log('This is a test string')//控制台输出: This si a text string
将代码保存在一个命名为app.js的脚本文件中,将输出的字符串保存到 info.log中,可进行如下操作:
node app.js 1>indo.log//1代表重定向标准输出流
console.log()方法中通过参数输出字符串格式,具体如下代码所示:
console.log("%s","hoge","foo")//依次输出所有字符串console.log("%d",10,10.3)//将数值转换为字符串console.log("%d","string")//将字符串作为字符串输出console.log("%%","hoge")//输出%hoge
console.log()中可以使用运算符进行结果计算: console.log("2+2")//4 node.js中可以使用console.info方法代替console.log方法
1.2 console.error():用于错误信息的输出
可以将错误信息输出到指定的文件中:
node app.js 2>error.log//2代表重定向标准错误输出流
1.3console.dir():查看对像内容并将其输出到控制台
1 var user = new Object() 2 user.name = 'yuanshen' 3 user.getName = function(){ 4 return this.name 5 } 6 user.setName = function(name){ 7 this.name = name 8 } 9 console.dir(user);
输出结果:
{ name: 'yuanshen', getName: [Function], setName: [Function] }
1.4 console.time方法与console.timeEnd方法
console.time(label):用于标记开始时间
console.timeEnd(label):用于标记结束时间注意:参数必须保持一致,所计时单位为mseg:1 function texttime(){ 2 for(var i=0;i<100000;i--){ 3 } 4 } 5 console.time('texttime') 6 console.timeEnd('texttime')
输出结果:
texttime: 0.235ms
1.5 console.trace方法:用于将当前栈信息作为标准错误信息输出
使用方法:console.trace(label)
eg:1 var user = new Object() 2 user.name = 'yuanshen' 3 user.getName = function(){ 4 return this.name 5 } 6 user.setName = function(name){ 7 this.name = name 8 } 9 console.trace(trace)
输出结果:
/root/webproject/text1.js:9console.trace(trace) ^ReferenceError: trace is not definedat Object.(/root/webproject/text1.js:9:15)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:389:7)at startup (bootstrap_node.js:149:9)at bootstrap_node.js:504:3
1.6 console.assert方法用于对表达式结果进行屏评估,如果返回false,则输出一个消息字符串并抛出AssertionError异常
eg:
> console.assert(1==2,'等式不成立')AssertionError: 等式不成立at Console.assert (console.js:95:23)at repl:1:9at sigintHandlersWrap (vm.js:22:35)at sigintHandlersWrap (vm.js:73:12)at ContextifyScript.Script.runInThisContext (vm.js:21:12)at REPLServer.defaultEval (repl.js:340:29)at bound (domain.js:280:14)at REPLServer.runBound [as eval] (domain.js:293:12)at REPLServer.(repl.js:538:10)at emitOne (events.js:101:20)