一、NODEJS概述
NODEJS基于谷歌的V8引擎(JS解释器),运行在服务器端的语言,基于JS。
http://nodejs.org 英文官网
http://nodejs.cn 中文
1、对比JS和NODEJS
(1)JS运行在浏览器端,存在兼容性的问题;NODEJS运行在服务器端,不存在兼容性问题。
(2)两者都有内置(ES)对象、自定义对象、宿主对象(根据执行环境的不同)
(3)JS用于网页中的交互效果,NODEJS用于服务器端操作,例如:创建web服务器、操作数据库...
2、NODEJS的执行方式
脚本模式 node C:/xampp/..../01.js
交互模式
node 回车 进入交互模式
两次ctrl+c或者输入 .exit 退出交互模式
3、 NODEJS特点及应用
支持数万个并发连接
应用于基础社交网络的大规模web应用
4.全局对象
NODEJS: global
在交互模式下,声明的变量和创建的函数都是全局对象下的,可以使用global来访问,例如 var a=1; global.a
在脚本模式下,文件中声明的变量和创建的函数不是全局对象下的,不能使用global来访问
JS: window
在浏览器下,文件中声明的变量和创建的函数是全局对象下的,可以使用window来访问,例如 var a=1; window.a
(1)console对象
global.console.log() 打印日志
global.console.info() 打印消息
global.console.warn() 打印警告
global.console.error() 打印错误
global.console.time('自定义字符串'); 开始计时
global.console.timeEnd('自定义字符串'); 结束计时
自定义字符串前后要保持一致
练习:使用计时查看for、while、do-while循环10000次的耗时
(2)process
当前计算机的进程
process.arch 查看当前CPU的架构 X64
process.platform 查看当前的操作系统 win32
process.env 查看当前的环境变量有哪些
process.version 查看当前nodejs的版本号
process.pid 查看当前的进行编号
process.kill(编号) 杀死某个编号的进程
(3)Buffer
缓冲区:在内存中存储数据的区域,存储网络传输时的资源。
创建buffer
var buf=Buffer.alloc(5, 'abcde');
将buffer数据转为普通字符串
buf.toString()
练习:创建两个buffer区域,分别存储两个数字,计算两个数字相加。
5.模块系统
模块是一个预定义好的功能体,在nodejs下,每一个文件都是一个模块。
在NODEJS下分为自定义模块、核心模块(官方提供)、第三方模块
在NODEJS下,一个文件就是一个模块,文件中的代码默认是被一个构造函数所包含。
以下红色的代码都是nodejs自动为每个文件添加的。
(function(exports,require,module,__filename,__dirname){ 程序编写的代码 }) |
__filename 当前文件的完整路径和文件名称 __dirname 当前文件的完整路径 require 是一个函数,用于引入模块; require('./07_2.js') module 指代当前的模块 module.exports 当前模块导出的对象(公开的内容),可以供其它的模块使用的属性和方法。 exports 等价于module.exports |
来源:https://www.cnblogs.com/liuqingqing-bloom/p/12013120.html