首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
Web开发
> 详细
NodeJS入门
时间:
2016-06-24 18:51:38
阅读:
188
评论:
0
收藏:
0
[点我收藏+]
标签:
什么是JavaScript
Javascript是一种动态类型、弱类型、基于原型的语言。
Javascript是一种脚本语言
脚本语言是不需要提前编译的语言
是在运行时动态的编译和解析执行的,所以也叫做动态语言
还有一种语言叫作:静态语言(静态语言是需要经过编译之后才能执行),这也是它们两者的区别
Javascript运行在浏览器(这里暂时这样写,后面介绍了NodeJS后就知道Javascript不仅仅能运行在浏览器上
暂时可以说Javascript是一种运行在浏览器中的脚本语言
JavaScript 的运行环境
对于初学者可能想当然说是浏览器
其实理论意义上,JavaScript是运行在浏览器中的Javascript解析引擎中,这也是后面NodeJS可以运行Javascript的原因,下面再进行详细介绍
浏览器中的 JavaScript 可以做什么
从 JavaScript 语言角度来说:其实是ECMAScript 规定了 JavaScript 脚本的核心语法,如 数据类型、关键字、保留字、运算符、对象和语句等,它不属于任何浏览器。
ECMAScript 3(当前使用较多的其实还在这个层面,因为涉及到兼容性的问题)
ECMAScript 5(现在用户也逐步在慢慢增多)
ECMAScript 6(2015年发布,添加了很多更加方便的规范,使Jascript更加强大了)
DOM操作
DOM 是“ Document Object Model ”的缩写,简称“ 文件对象模型 ”,由W3C制定规范
DOM 定义了 JavaScript 操作 HTML 文档的接口,提供了访问 HTML 文档(如body、form、div、textarea等)的途径以及操作方法,浏览器载入 HTML 文档后,将整个文档规划成由节点构成的节点树,文档中每个部分都是一个节点
这也是Javascript使用最为广泛的,通过DOM操作能够让浏览器渲染出各种炫酷的界面,并能完成很多业务逻辑
BOM操作
BOM 是”Browser Object Model“的缩写,简称“浏览器对象模型”
BOM 定义了 JavaScript 操作浏览器的接口,提供了访问某些功能(如浏览器窗口大小、版本信息、浏览历史记录等)的途径以及操作方法,其实这些接口都是通过中间层通过硬件层面开放给程序员的接口,也是得益于这些接口我们可以高效的进行开发
遗憾的是,BOM 只是 ECMAScript 的一个扩展,没有任何相关标准,W3C也没有对该部分作出规范,每个浏览器厂商都有自己的 BOM 实现,这可以说是 BOM 的软肋所在,也是令很多程序要感到很烦恼的一个地方–兼容性;
AJAX
AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术
通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新
说到这里,也算是AJAX拯救了Javascript,因为在2005年之前Javscript经常被认为是一个很低级的脚本语言,最重要的是很多开发者都用它开发了一些烦人的广告之类的,最终导致Javascript在好几个主流浏览器上都经常被禁用,相信现在有些开发者也知道每个浏览器都有一个禁用Javascript的选项,不过这时的我们并不是真的禁用它,最多是处于调试的目的,但那时候可是真的禁用,好了,野史就先说到这….2005年对于AJAX可以说是一个重要的元年,很多重大的事件让大众对它真的是刮目相看,Google在它著名的交互应用程序中使用了异步通讯,如Google、Google地图、Google搜索等。而AJAX又是基于Javascript,所以就此Javascript又重新发展了起来。
事件驱动编程
Javascript中的事件驱动是通过鼠标或热键的动作引发的,比如我们常见的onclick(点击)、onchange(内容改变)、onFocus(获得焦点)、onblur(失去焦点)、onload(文档加载完毕)、onselect(当text或textarea的内容被高亮显示后触发该事件)….
还有很多事件在这里就不一一赘述了,大家只需要先知道是这样一个事件驱动原理,使我们能够实现很多交互,因为我们可以知道,每一个用户的行为很多时候是很难预测的,所以计算机不可能提前都预制好要去做些什么。计算机内部是只能识别二进制的,也就是我们所有的操作最终都会以二进制(0101)的形式返回给计算机,然后计算机再去根据指令去执行。早期则存在许多非事件驱动的程序,这样的程序,在需要等待某个条件触发时,会不断地检查这个条件,直到条件满足,这是很浪费cpu时间的。而事件驱动的程序,则有机会释放cpu从而进入睡眠态(注意是有机会,当然程序也可自行决定不释放cpu),当事件触发时被操作系统唤醒,这样就能更加有效地使用cpu了
浏览器中的 JavaScript 不可以做什么
相对于 传统的 c、Java、c#、c++ 等等这些语言来说
文件操作
注意:JavaScript 本身不是不可以操作文件
为了 安全性
客户端的 JavaScript 可以向服务器发送请求,但是不能接收请求
那在开发人员能力相同的情况下编程语言的能力取决于什么
最重要的区别 取决于 你的 执行环境
对比一些后台语言:Java、PHP、C#、C++ 运行环境不一样
编程语言的能力 真正 取决于 这个语言在哪儿运行(运行环境)
JavaScript 只可以运行在浏览器中吗
这里就可以引申出上面的问题了,Javascript不仅仅只能运行在浏览器上,其实决定Javascript的关键也是它的运行环境,比如chrome中的V8引擎、Firefox中的SpideMonkey、IE的JScript、Safari的JavaScriptCore、MicrosoftEdge的 ChakraCore
上面这些其实都是引擎,大家可以想象一下显示生活中的引擎,比如汽车中的发动机,也可以说是汽车的引擎,相信知道汽车的人知道发动机其实是可以更换的,也就是可移植,而这一点也是引擎最重要的特性;
而NodeJS作者正是通过移植了chrome的V8引擎,使javascript可以跨平台运行了,也算是开创了Javascript的一个新纪元,让Javascript又提升了一个新的高度,接下来我们也就要进入神奇的Node世界了。
NodeJS入门
标签:
原文地址:http://www.cnblogs.com/webhb/p/5615070.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
36.VUE — 认识 Webpack 和 安装
2021-07-28
【PHP】上传图片翻转问题
2021-07-28
php对数字进行万。亿的转化
2021-07-28
五个 .NET 性能小贴士
2021-07-28
Three.js中显示坐标轴、平面、球体、四方体
2021-07-28
.net 5+ 知新:【1】 .Net 5 基本概念和开发环境搭建
2021-07-27
1.html,css
2021-07-27
基于Docker搭建 Php-fpm + Nginx 环境
2021-07-27
nginx + http + svn
2021-07-27
kubernets kube-proxy的代理 iptables和ipvs
2021-07-26
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!