Node.js 讲解

Node.js 讲解

再谈客户端JavaScript

有如下几个问题:

ü 什么是JavaScript?

ü JavaScript的运行环境是?

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

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

ü JavaScript只可以运行在浏览器中吗?

ü 编程语言的能力取决于什么?

(1).什么是JavaScript?

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

两大方面:

ü 在浏览器端运行的(还有在服务端运行的,比如php)

ü 脚本语言,嵌入到其他的语言中(插入到html中)

(2).JavaScript的运行环境是?

就是浏览器。

(3).浏览器中的JavaScript 可以做什么?

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

ü 表单验证

ü 实现一些特性和动画

ü 更好的组织页面的结构(tab选项卡、轮播图)

ü 可以使用ajax来提升用户体验

ü 页游

(4).浏览器中的JavaScript 不可以做什么?

作为一门编程语言,js和其他语言相比,它不能干什么?

其他语言,比如c、c++、c#、java、php等

js不能:

ü 文件操作

ü 网络编程

ü os相关操作

ü 数据库操作

ü …

所以,我们发现,作为一门编程,居然有很多事情都不能做?

所以,这正是过去js被人鄙视的原因。认为就是js是一门玩具式的语言。

(5).JavaScript只可以运行在浏览器中吗?

在09年以前,基本上只能在浏览器中运行的。

但是09年之后,情况发生了变化。

Javascript除了在浏览器中运行,它还可以在其他环境运行,比如服务端。

(6).编程语言的能力取决于什么?

其实,各门语言的功能大同小异,基本都具备下面这些内容:

ü 变量和常量

ü 数据类型

ü 表达式

ü 语句(顺序、分支、循环)

ü 函数

ü 类和对象

ü 继承

编程语言的能力取决于它所运行的环境(平台)。

舞台有多大,人的潜力就有多大。

不同的语言,有不同的运行环境。

Java最强,因为有虚拟机,就可以在任何操行系统上执行。

C#,它只能运行在windows操作系统的.net环境中。

C,可以在任何os中运行。

Js也不例外,过去之所以弱,就是由于它的运行环境很单一,只是浏览器。

但是现在不一样了,在服务端环境中也可以执行的。

自此,js是大放异彩。

如果说有一门语言,会统治服务端开发、浏览器端开发、app开发,这门语言一定是js。

什么是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中,也是同样支持的。

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操作。

Node.js可以做什么?

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

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

webapp(网站)

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

既然已经有了java、PHP等后台语言,为何还需要Node.js?
io密集型 — 异步io操作
实时web应用 ---- socket.io

io是指input/output,输入和输出,文件操作。
实时web应用:双十一、12306、游戏、在线客服/咨询

关键词:
非阻塞:https://www.jianshu.com/p/22c27f827304

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值