Node即学即用
Node.js 为“服务器端的JavaScript”,但这不能完全描述Node.js 本身。
了解Node.js 的最佳方法是使用其提供的REPL 模式(Read-Evaluate-
Print-Loop,输入- 求值- 输出- 循环),即交互式命令行解析器,它非常适合检验
和学习Node.js。
此外,
因为Node 是对V8 的封装,所以Node 命令行解析器也是用来轻松测试JavaScript
的理想方法。
console.log('Hello Wordl');
myobj = {};
myobj.list = ["a","b","c"];
myobj.doThat = function(first,second,third){ console.log(first); };
高性能Web服务器
--Node 给Web 服务器程序开发领域引进了事件驱动编程
Node 是对高性能V8 引擎的封装(V8 是Google Chrome 浏览器的JavaScript 引擎),
通过提供一系列优化的API 类库,使V8 在浏览器之外依然能高效运行。
Node 的一大特性是对高性能的追求。
首先,V8 采用了编译领域的一些最新技术,使得用JavaScript 等高级语言编写的代码在运行效率上能够接近用C 等底层语言编写的代码,并且开发成本有所降低。
其次,Node 利用了JavaScript 的事件驱动(event-driven)特性来构建高度可扩展的
服务器程序。Node 采用了事件循环(event loop)架构,让开发高效的服务器程序
变得简单和安全。对比其他构建高性能服务器的架构,Node 既保证了性能,又降低
了开发难度。这是一个极其重要的特性。
Node 提供了一系列“非阻塞”函数库来支持事件循环特性。比如,把文件系统或数
据库操作封装成事件驱动形式的函数接口。
Node 的强大特性还包括能在服务器端运行JavaScript,尽管这样的特性并非Node
所独有。
HelloWorld.js
var http = require('http');
http.createServer(function (req,res){
res.writeHead(200,{'Content-Type':'text/plain'});
res.end('Hello World\n');
}).listen(8205,"127.0.0.1");
console.log("Server running at http://127.0.0.1:8205");
JavaScript 代码应当精心编写、高性能、易维护。
每个浏览器都有各自的JavaScript 解析器:
Firefox 的Spider Monkey、
Safari 的Squirrel Fish Extreme、
Opera 的Karakan,
最后还有Chrome 带来的V8。
这些解析器不断追求更快的性能,也为JavaScript 制造了创新的环境。
为了让自己的浏览器突围而出,厂商们将尽最大能力让它运行得越来越快。