服务端开发 node.js

前言:

什么是JavaScript

Javascript是一门运行在浏览器端的脚本语言。

JavaScript的运行环境是?

浏览器

javaScript 可以用来做什么

在浏览器端,主要是使用js来实现DOM操作。

  • 表单验证
  • 实现一些特性和动画
  • 更好的组织页面的结构(tab选项卡、轮播图)
  • 可以使用ajax来提升用户体验
  • 页游

换句话说,就是JavaScript脱离了浏览器,上述功能也就不存在了。

浏览器中的JavaScript 不可以做什么?

作为一门编程语言,js和其他语言(c、c++、c#、java、php)相比,它不能干什么?

  • 文件操作

  • 网络编程

  • os相关操作

  • 数据库操作

于是在2009年,Ryan正式推出了基于JavaScript语言和V8引擎的开源Web服务器项目,Node.js。Node第一次把JavaScript带入到后端服务器开发。

因为node的出现,JavaScript可以脱离浏览器运行,浏览器的一些限制当然也没有了,部分功能也就不存在了,比如:操作dom!

运行在node上的JavaScript可以做什么呢?
  • 可以制作命令行工具(所谓命令行工具就是通过dos命令来操作的软件)
  • 可以做服务端的开发 (基于node可以开发服务器应用,就像php一样)

什么是Node.js

官网:https://nodejs.org/en/

中文网站:http://nodejs.cn/

  • Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。

  • Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。

  • Node.js 的包管理器 npm,是全球最大的开源库生态系统。

node.js是一个运行环境,和浏览器是同等地位。node.js这个运行环境是基于chrome v8引擎的,在浏览器端写的那些和浏览器环境无关的代码,在node.js中,也是同样支持的。

Node.js可以做什么?

使用Node.js可以轻松的进行服务器端应用开发。

具体来说,体现在两个方面:

  • webapp(网站)

  • 命令行(包括命令行工具和交互式终端程序)

既然已经有了java、PHP等后台语言,为何还需要Node.js?

  • io密集型 — 异步io操作
  • 实时web应用 ---- socket.io

实时web应用:双十一、12306、游戏、在线客服/咨询

nodejs的特点

  • 单线程 (JavaScript 特点:程序按照连续顺序排下来,前面的必须处理好,后面才会执行。)
  • 异步式I/O(非阻塞式) (当有多个任务需要执行,所需耗时为多个任务中最高耗时(同步编程,为多个任务耗时总和)
  • 事件驱动机制 (根据当前出现的事件,调动资源进行相关的处理)
  • 跨平台
JavaScript 和 node.js 区别

过去js有两个名称:

  1. ECMAScript版本号 (官方)
  2. Javascript(民间)

ECMAScript才是语言本身。

ECMAScript语言在不同的环境中,分别对应于不同的叫法:

  • 在浏览器端执行的ECMAScript,称之为javascript
  • 在服务端执行的ECMAScript,称之为node.js
  • 在flash palyer中执行的ECMAScript,称之为ActionScript

在这里插入图片描述
一般说js,就是指浏览器端的javascript(ecmascript)
一般说node.js,就是指服务端的javascript(ecmascript),但是node.js本身是运行环境。

小结:

Node.js是一个基于chrome v8引擎的运行环境。在运行环境中,可以执行js代码,同时结合这个环境提供的api,就可以实现服务端的编程。

和浏览器端的js对比:
浏览器端是一个运行环境,在这个运行环境中,可以执行js代码,同时结合这个环境提供的api(就是BOM和DOM),就可以实现DOM操作。

关键词:
非阻塞:https://blog.cs

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值