1.NodeJS概述

基于谷歌V8引擎,运行在服务器端的环境

对比JS和NodeJS

(1)JS运行在浏览器端,存在多种浏览器解释器,容易产生兼容性的问题;而NodeJS运行在服务器端,只有V8引擎一种解释器,不存在兼容性问题。

(2)两者都有内置对象、自定义对象、宿主对象(不相同)

(3)JS用于浏览器端的交互效果,NodeJS用于服务器端操作,例如创建web服务器、操作数据库、文件操作

NodeJS执行方式

脚本模式   node  c:/xampp/.../01.js   回车

交互模式   node  回车  进入交互模式

退出交互模式   两次Ctrl+c   或者   .exit

NODEJS API

http://nodejs.cn/api/globals.html  中文版

https://nodejs.org/dist/latest-v10.x/docs/api/ 英文版

适用场景

基于社交网络的大规模web应用(属于I/O密集型)

1.全局对象

NodeJS: global

在交互模式下,声明的变量和创建函数都属于全局对象下的,可以使用global来访问  global.a   global.fn

在脚本模式,声明的变量和创建函数都不属于全局对象下的,

不能使用global来访问

JS:window

在JS脚本中声明的变量和创建的函数都属于全局对象下的,可以使用window访问  window.a  window.fn()

2.process对象

进程: 执行程序的时候,操作系统分配内存空间

process.arch  查看当前CPU架构

process.platform   查看当前的操作系统

process.env   查看当前的环境变量有哪些

process.version  查看当前NodeJS版本号

process.pid  查看当前进程的编号

process.kill()  结束某个编号的进程

3.console对象

标准输出

console.log()  打印日志

console.info()  打印消息

console.warn()  打印警告

console.error()  打印错误

console.time('自定义字符串')  开始计时

console.timeEnd('自定义字符串')  结束计时

注意:开始计时和结束计时的字符串保持一致。

练习:循环100万次,分别使用for,while,do-while查看耗时情况。

4.Buffer对象

缓冲区: 在内存中存储数据的区域,常用于网络传输时的资源

创建Buffer

var buf=Buffer.alloc(5, 'abcde')

将buffer数据转为字符串

String(buf)

buf.toString()

5.模块

模块:就是一个独立的功能体

在NodeJS下,模块分为:自定义模块、核心模块、第三方模块

自定义模块

在NodeJS,每一个文件都是一个模块

NodeJS自动为每个文件添加了构造函数,所有的代码被构造函数所包含

(function(exports,require,module,__filename,__dirname){

程序员自己写的代码

})

require(): 用于引入一个模块,同一级目录写路径 ./

module: 指代当前的模块对象

module.exports: 当前模块的导出对象,公开的属性和方法

最新文章

  1. SharePoint 2013 托管导航 无法被开启的解决办法
  2. 虚拟机VMware与主机共享文件介绍
  3. POJ2001 Shortest Prefixes
  4. PHP--yii中findOne转换成数组
  5. Web发布 未能加载文件或程序集“”或它的某一个依赖项。系统找不到指定的...
  6. 来自JavaScript Garden摘取
  7. YYCache 源码分析(一)
  8. Java程序员在用的大数据工具,MongoDB稳居第一!
  9. C/C++笔试准备(1)
  10. linux下find命令-atime,-ctime,-mtime真正含义
  11. LIS问题分析
  12. 想入门webpack,这篇就够了
  13. VBScript中Msgbox函数的用法
  14. iOS中 UITextView文本视图 技术分享
  15. Python-网站页面代码获取
  16. QTP测试.NET程序的时候,找不到对象或无法录制的解决方案
  17. hue的历史查询记录querys乱码问题解决
  18. 【30集iCore3_ADP出厂源代码(ARM部分)讲解视频】30-12底层驱动之液晶画点驱动
  19. JDBC具体解释(2)
  20. 请问C#中string是值传递还是引用传递?

热门文章

  1. php 推荐密码加密的方法
  2. Ubuntu 搜索文件
  3. ansible的模块使用
  4. beetl 模板语法
  5. java并发Exchanger的使用
  6. java.util.concurrent简介
  7. Linux系统管理第五次作业 LVM逻辑卷 磁盘配额
  8. 【三剑客】awk函数
  9. Java演示设计模式中的写代码的代码
  10. 2018/12/08 L1-036 A乘以B Java