Nodejs 一

1.Node.js概述

Node.js运行在服务器端的JS解释器

(1)对比js

JS运行在客户端浏览器  存在多款浏览器,有兼容性问题,Node,js运行在服务器端,只有一种解释器谷歌V8引擎,不存在兼容性问题

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

JS用于操作网页,实现用户交互 Node,js用于服务器端开发 例如数据库访问  其它服务器的调用

(2)运行方式

①脚本模式

node 拖拽脚本文件   回车

②交互模式

node  回车  进入交互模式

两次Ctrl  退出交互模式

(3)特点

单线程运行逻辑处理  适合做I/O(输入/输出)操作为主应用 支持数万个并发链接 列如;基于社交网络的大规模WEB应用

不适合做CPU密集型的应用

2.全局对象

(1)global

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

交互模式属于全局作用域 变量和函数都是全局的,可以通过global访问

global.a     golbal.fn()是全局变量          global.b是局部变量

 JS的全局global 叫做window

 在js中声明变量和创建函数数   使用window   检测是否为全局的

    <script>
        var arr = 5;

        function ar() {
            return '这是全局的   在全局作用域下';
        }
        console.log(window.arr);
        console.log(window.ar())
    </script>

F12 在控制台查看 

 

 (2)console对象

console.log(1);//打印日志
console.info(2);//打印消息
console.warn(3)//打印警告
console.error(4)//打印错误 
console.time('')//开始计时
console.timeEnd('');//结束计时
开始计时和结束计时的值要保持一致
 


//开始计时
console.time('for')
for(var i=1 ; i<100000;i++){
}
//结束计时
console.timeEnd('for');

 

(3)process

进程对象,用来管理当前node.js这个进程   启动任何一个软件都是代表对应的进程

进入node交互模式   

process.arch   查看当前CPU架构

process.platform   查看操作系统

process.version   查看当前nodejs版本号

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

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

(4)Buffer

缓冲区,缓冲器,是内存中一块临时存储数据的区域

var buf=Buffer.alloc(5,’abcde’);//创建Buffer,分别空间大小为5个字节,并存储数据,在nodejs下每个汉字占3个字节

buf.toString() //将buffer转为字符串

//创建buffer
//alloc分配空间大小  单位字节   5是字节可以占5个字节   这个可以随便设置
var buf=Buffer.alloc(5,'abcde');
console.log(buf);//<Buffer 61 62 63 64 65>
//将buffer转为字符串   前提是字符串才去转换  如果是图片或者视频转换也是乱码
console.log(buf.toString());//abcde

 3.模块

每个文件代表一个模块, 模块代表一个功能体

require:是一个函数,用于引入其它的模块. 得到对象导出的对象

module:当前模块的对象

module.export 当前模块导出的对象  默认是一个空对象 如果要导出那些内容只需要放入这个对象

在主模块(mian.js)下引入功能模块(circle.js) 在功能模块下传递半径,实现计算圆周率的周长个面积两个函数  导出两个函数;在主模块下导出的两个函数

功能模块 circle.js

    
        //计算周长
        function fn(r) {
            return 2 * Math.PI * r;
        }
        //计算面积
        function fun(r) {
            return Math.PI * Math.pow(r, 2)
        }

        //导出对象
        module.exports = {
            myfn: fn,
            myfun: fun
        }

 主模块mian.js

        //引入同一级目录下circle.js模块
        var obj = require('./circle.js');
        //console.log(obj); //{ myfn: [Function: fn], myfun: [Function: fun] }
        //调用导出的函数
        console.log(obj.myfn(2), obj.myfun(4))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值