zoukankan      html  css  js  c++  java
  • NodeJS的概述

    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: 当前模块的导出对象,公开的属性和方法

     

  • 相关阅读:
    LeetCode题解之Flipping an Image
    LeetCode 之Find Minimum in Rotated Sorted Array
    LeetCode题解Transpose Matrix
    LeetCode 题解之Minimum Index Sum of Two Lists
    LeetCode题解之Intersection of Two Linked Lists
    LeetCode 题解之Add Two Numbers II
    LeetCode题解之Add two numbers
    href="#"与href="javascript:void(0)"的区别
    有关ie9 以下不支持placeholder属性以及获得焦点placeholder的移除
    ie7下属性书写不规范造成的easyui 弹窗布局紊乱
  • 原文地址:https://www.cnblogs.com/sna-ling/p/12500114.html
Copyright © 2011-2022 走看看