NODEJS day

NODEJS day,第1张

一、Node.js 概述

Node.js是运行在服务器端JS环境

1.JS和Node.js的区别

(1)JS运行在浏览器,有多种解释器,存在代码兼容性问题;Node.js运行在服务器,只有谷歌v8引擎一种环境,不存在代码兼容性问题。

(2)两者都有共同的自定义对象和内置对象,不同的宿主对象

(3)作用不同,JS用于开发浏览器端的用户交互效果,Node.js用于后端开发,例如数据库访问、调用其他服务器...

2.网址

官网:Node.js

中文:Node.js 中文网

3.运行Node.js

(1)脚本模式

node 文件路径 回车

(2)交互模式

node  回车         进入交互模式

两次ctrl+c  或者 一次 ctrl+d         退出交互模式

4.特点

是单线程运行逻辑

二、全局对象

可以在任意作用域下使用的对象

1.global (全局的全球的)

用来检测一个变量或者函数是否为全局的

交互模式下,属于是在全局作用域下           global.变量或函数

Node.js脚本文件下,不属于全局作用域下,变量和函数都是局部,解决了全局污染

JS下,全局global名字发生了变化;叫做window

JS脚本文件下,属于全全局作用域,存在全局污染
练习:编写脚本文件01_global.js,创建函数,使用global检测是否为全局的练习:编写文件02_window.js和02.html,把js文件嵌入到html中,检测js文件中
var a=1
function fn(){
    return 2
}
//使用global检测是否为全局
//a和fn不能使用global访问,当前文件不是在全局作用域下
console.log(global.a)
console.log(global.fn())
var a=1
function fn(){
    return 2
}
//检测是否为全局
console.log(window.a)         //1
console.log(window.fn())     //2

2.console (控制台)

console.log(1)  //打印日志
console.info(2)  //打印消息
console.warn(3)  //打印警告
console.error(4)   //打印错误

console.time()        //开始计时
console.timeEnd()        //结束计时
注意事项:开始计时和结束计时的参数要保持一致

计时用法练习:查看while和do-while循环100000次
//开始计时
console.time('tao')
for(var i=1;i<=100000;i++){
}
//结束计时
console.timeEnd('tao')
console.time('while')
var j=1
while(j<=100000){
    j++
}
console.timeEnd('while')
console.time('do-while')
var k=1
do{
    k++
}while(k<=100000)
console.timeEnd('do-while')

3.process (步骤,进程)

进程对象,计算机上启动的软件都会产生相应的进程,每个进程都会占用一定的资源

process.arch  查看到CPU架构

process.platform   查看到当前的 *** 作系统

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

process.kill()        结束指定编号的进程

4.Buffer(缓冲区,缓存)

是内存中的一块区域,用于临时保存数据

var buf=Buffer.alloc(6,'abc中国')    //创建Buffer,分配一块大小为6个字节的数据空间,每个英文字符占1个字符,汉字占3个字节;逗号前面是空间大小(单位是字节),逗号后面是存储的数据;若空间大小不够,数据将不能完全存储
console.log(buf)
console.log(buf.toString())   //将Buffer格式的数据转为字符串
三、模块

     模块表示一个独立的功能体,Nodejs下每一个文件就是一个模块             (便于维护  )            

require()        用于引入一个模块

module.exports        当前模块要暴露的对象,默认是一个空对象,如果想让外部使用哪一个,就添加到暴露的对象

07_yan.js07_tou.js
console.log('这是眼睛模块')
//局部变量
var a=1
//局部函数
function fn(){
    return 2
}
//暴露的对象:如果想让外部使用哪些,需要暴露出去才可以
//往暴露对象中添加内容

module.exports={
    myA:a,
    //把函数fn暴露出去,让外部调用
    myFn:fn
}
//引入同一级目录下的07_yan.js
//同一级目录 ./
//引入成功后,得到的是什么——模块暴露的对象

var obj=require('./07_yan.js')
console.log(obj)  //默认暴露的是空对象
//使用:用暴露的名字
console.log(obj.myA,obj.myFn())

                                

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1297233.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存