第三章 nodejs基础知识(上)

本章主要介绍一些nodejs的基础知识:

1. 什么是nodejs中的控制台,如何向控制台进行标准输出流与标准错误输出流的输出;

2. 什么是nodejs中的全局作用域,在nodejs中预先提供了哪些全局函数以及全局变量;

3. 什么是nodejs中的事件处理机制以及事件环进制,如何在nodejs中为各种事件指定事件触发以及事件取消时执行的回调函数;

4. 如何使用nodejs 中的调试器进行应用程序的调试;

3.1 nodejs中的控制台

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

3.1.1 console.log方法

console.log("This is a test String")

该行代码将向控制台输出一行,“this is a test string."字符串。

可以将该行代码保存在一个脚本文件中,然后在命令行窗口中使用如下所示的命令来运行该脚本文件,例如

node apps.js

1代表重定向标准输出流

//从第二个参数开始,依序输出所有字符串
console.log("%S","hoge","foo"); // 输出结果为hoge foo

//将对象转换为字符串后输出
console.log("%d","hoge",{foo:"FOO"}); // 输出结果为hoge ({foo:"FOO"})

//将数值住转换为字符串后输出,从第二个参数开始,依序输出所有数值
console.log("%d","hoge");  // 输出NAN

//输出百分号
console.log("%%","hoge"); //输出 % hoge

可以在console.log方法中使用各种运算符输出结果,也可以使用toString方法将变量值转换为字符串后进行输出,

console.log("2+2");  // 使用算术运算符,输出结果为4
console.log(2/0);   // 输出 Infinity

var a=1;
var b=2;
console.log(a=b); // <span style="color:#FF0000;">赋值运算符 输出为2,a变量值同时变成2</span>

//将数值变量a 与数值变量b 均转换为字符串后使用 + 运算符将两个字符串值链接后输出
console.log(a.toString()+b.toString());

var a=1;
var b="2";
console.log(a+b); // 将数值转换为字符串后与其他字符串相链接,输出结果为12;

var a = 1;
var b = 2;

console.log(a==b); // 使用比较运算符,输出false
console.log(a==1&b==2); // 使用逻辑运算符,输出true

另外,在nodejs中,console.info方法来代替console.log方法,这两个作用与使用方式完全相同

<span style="font-size:18px;"><strong>3.1.2 console.error方法</strong>
此方法用于进行标准错误输出流的输出,向控制台中输出一行错误信息</span>

<pre name="code" class="javascript">//console.err("This is an error string.");

<span style="font-size:18px;">意思和。log使用是一样的,也可以保存为一个js脚本文件,然后在dos窗口运行,这里不在过多演示</span>

打开error.log文件

module.js:338
    throw err;
          ^
Error: Cannot find module 'D:\nodetest\script.js'
    at Function.Module._resolveFilename (module.js:336:15)
    at Function.Module._load (module.js:278:25)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)
    at node.js:814:3

另外,与console.log方法一样,在console.error方法中也可以通过参数指定输出字符串的格式,可以使用参数与console.log方法中使用参数相同,可以使用各种运算符计算出结果,也可以使用toString()方法将变量值转换为字符串后进行输出。同样,console.warn可以替换console.error方法

3.1.3 console.dir方法

var user=new Object();
user.name="cuiwjava";
user.getName=function(){return this.name;};
user.setName=function(){this.name=name;};
console.dir(user);
//保存在一个脚本文件中,然后node XXX.js  我在这里用一个命令完成 .sace XXX.js //保存到当前目录下 上图

好啦,这样一个文件就生成啦!!

3.1.4 console.time 与 console.timeEnd方法

在nodejs中,需要统计一段代码执行时间时候,可以使用console.time方法与console.timeEnd方法,其中前者用于标识开始时间,后者标记结束时间,这之间经过的毫秒数会在控制台中输出:

console.time(label);
console.timeEnd(label);

俩个方法均使用一个参数,参数可以为任何字符串,但是这两个方法所使用的参数字符串必须相同,才能正确的统计时间。

3.1.5 console.trace 方法

将当前栈信息作为标准错误信息进行输出,

<span style="font-size:18px;">console.trace(label);</span>

3.1.6 console.assert方法

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

3.2 Node.js 中全局作用域以及全局函数

在一个模块中定义的变量,函数或者方法只在该模块中可用,但可以通过exports 对象的使用将其传递到模块外部

3.2.1nodejs中的全局变量

在nodejs中存在一个全局作用域,即可以定义一些不需要通过任何模块的加载即可使用的变量,函数或类。同时,也预先定义了一些全局方法以及全局类.

另外,在nodejs中,定义了一个global对象,代表nodejs中的全局命名空间,任何全局变量、函数或对象都是该对象的一个属性值。

console.log(global);

这是所有全局变量、函数或对象

之后再使用全局调用查看 console.log(global);

时间: 2024-10-24 10:33:15

第三章 nodejs基础知识(上)的相关文章

【Linux系列】【基础版】第三章 Shell基础知识

3. Shell基础知识     3.1 Shell的由来         3.1.1 Bourne Agin Shell         3.1.2 其他的shell, 有 zsh, ksh等     3.2 查看有没有shell         3.2.1 yum list | grep zsh         3.2.2 ls /root/.bash_history         3.2.3 echo $HISTSIZE -> vi /etc/profile 修改HISTSIZE的值 -

第三章 Linux基础知识

3.1 程序的组成与执行过程 3.1.1 三种编程接口 在前面几章我们已经粗略的说过,面向计算机通常有三种编程接口,分别是: a) 硬件规格 b) 系统调用 c) 库调用 每个CPU的生产厂商在生产一个计算芯片时,这个芯片本身有其内置的指令集,所以有一部分人在编程时直接面向这些指令集进行,这类编程方式就是面向硬件规格编程. 3.1.2 程序执行过程 前面我们说过,Intel x86系列的CPU,通常由外而内,指令集是分布在4个环上的,环0上的是特权指令,只能由操作系统执行,环3上的是普通指令,可

APUE学习笔记:第一章 UNUX基础知识

1.2 UNIX体系结构 从严格意义上,可将操作系统定义为一种软件(内核),它控制计算机硬件资源,提供程序运行环境.内核的接口被称为系统调用.公用函数库构建在系统调用接口之上,应用软件即可使用公用函数库,也可使用系统调用.shell是一种特殊的应用程序,它为运行其他应用程序提供了一个接口 从广义上,操作系统包括了内核和一些其他软件,这些软件使得计算机能够发挥作用,并给予计算机以独有的特性(软件包括系统实用程序,应用软件,shell以及公用函数库等) 1.3  shell shell是一个命令行解

第一章 计算机基础知识

第一章 计算机基础知识 第一部分 概述 1.1946年2月15日,第一台计算机 ENIAC 2.物理原件(电子原件) 第一代:电子管.第二代:晶体管.第三代:中小规模集成电路.第四代:超大规模集成电路.第五代:超导材料.第六代:人工智能.#考试考到第四代. 3.计算机的分类 巨型机,大型机,中型机,小型机,微型机 现在的巨型机也是存在的 4.微处理器(CPU.中央处理器)由控制器.寄存器.运算器组成 第二部分 微机系统的组成 CPU>内存>外存 #速度 CPU和内存之间有一个CACHE,叫做高

【安富莱二代示波器教程】第1章 示波器基础知识

第1章   示波器基础知识 本章的内容整理自网络,主要讲解示波器的基础知识.如果初学的话非常有必要对这部分知识有一个了解.因为示波器是硬件调试必不可少的设备. 1.1 什么是示波器 1.2 示波器的发展史 1.3 示波器的基础概念 1.4 触发系统 1.5 李沙育图形 1.6 窗函数选择 1.7 总结 1.1  什么是示波器 示波器是形象地显示信号幅度随时间变化的波形显示仪器,是一种综合的信号特性测试仪,是电子测量仪器的基本种类. 自然界运行着各种形式的正弦波,比如海浪.地震.声波.爆破.空气中

三、Java基础知识要点合集

1.数据类型 Java的数据类型分为基本数据类型和引用数据类型. a, 基本数据类型包括:byte, boolean, char, short, int, long, float, double; b, 每个基本数据类型都有相应的引用类型,比如int  ->  Integer,char -> character. c, 查询不同类型数据的范围,方法之一是可以用基本类型对应的引用类型.比如,"int i = Integer.Size; "(i表示int型数据所占的位(bit)

linux 第三章目录文件管理(上)

享受生活  热爱挑战                                                                                  明远分享         linux  第三章目录文件管理(上) 每章一段话      人生的确很累,看你如何品味:每天多寻快乐,烦恼别去理会:短短数十寒暑,             何不潇 洒面对.人之所以快乐,并不是因为得到的多,而是因为计较的少,生               活要用大海的胸怀去面对,当别人放

Java Web 学习笔记 第三章 java基础(二)

第三章 java基础(二) 一.转义符 转义字符是"\",通过转义字符,可表示一些特殊的字符. 例如: '\n'  表示回车 '\t'   表示 制表符字符,一个制表符表示向右跳8-10个字符 '\\'   表示\ '\''   表示单引号 '\"'  表示双引号 "\u4e2d"表示unicode编码对应的字符(汉字:中). 二.布尔类型的概念和用法 boolean 类型用来表示肯定或否定两种可能. boolean 常用在分支语句.循环语句中. true

高项3.7日第一次课,第一章信息化基础知识与第二章信息系统服务管理梳理

第一章 信息化的基础知识 1.国家信息化体系要素: 主要包括6要素,信息技术应用(龙头).信息资源(关键).信息网络(必要手段).信息技术产业(基础).信息化人才(成功之本).信息化法规政策和规范(保障). 2.电子政务: 电子政务建设的指导原则: (1)统一规划,加强领导. (2)需求主导,突出重点. (3)统一规划,拉动产业. (4)统一标准,保障安全. 主要任务: (1)电子政务网络由政务内网和政务外网构成,两网之间物理隔离,政务外网与互联网之间逻辑隔离.政务内网主要是副省级以上政务部门的