看到Node.js这个名字,初学者可能会误以为这是一个Javascript应用,事实上,Node.js采用C++语言编写而成,是一个Javascript的运行环境。为什么采用C++语言呢?据Node.js创始人Ryan Dahl回忆,他最初希望采用Ruby来写Node.js,但是后来发现Ruby虚拟机的性能不能满足他的要求,后来他尝试采用V8引擎,所以选择了C++语言。既然不是Javascript应用,为何叫.js呢?因为Node.js是一个Javascript的运行环境。Node.js是一个后端的Javascript运行环境(支持的系统包括Linux、Windows和Mac等),这意味着你可以编写系统级或者服务器端的Javascript代码,交给Node.js来解释执行,Node.js采用了Google Chrome浏览器的V8引擎,性能很好,同时还提供了很多系统级的API,如文件操作、网络编程等。浏览器端的Javascript代码在运行时会受到各种安全性的限制,对客户系统的操作有限。相比之下,Node.js则是一个全面的后台运行时,为Javascript提供了其他语言能够实现的许多功能。
f48763c5b9
] - benchmark: remove benchmarks forced optimizations (Bartosz Sosnowski)dcac2d8f04
] - benchmark: benchmark comparing forEach with for (James M Snell) #1158280949f3d88
] - build: add cpp linting to windows build (liusi) #118565244ee346b
] - build: mac OBJ_DIR should point to obj.target (Daniel Bevenius) #118575b1d61ce09
] - child_process: fix deoptimizing use of arguments (Vse Mozhet Byt) #11748ca319862fd
] - deps: cherry-pick ca0f9573 from V8 upstream (Ali Ijaz Sheikh)a7e4b029da
] - deps: Add node-inspect 1.10.6 (Jan Krems) #118690c00b655d8
] - doc: Fix #7065: cli help documentation for --inspect (Noj Vek) #1166060ad7af65e
] - doc: deprecate debug protocol (Jan Krems) #10320a5f7393541
] - doc: add vsemozhetbyt to collaborators (Vse Mozhet Byt) #119320c091262bd
] - doc: add note that vm module is not a security mechanism (Ruslan Bekenev) #115576d6a65e2ad
] - doc: linkable commit message guidelines (Sam Roberts) #117927c7228ed4b
] - doc: gcc version is at least 4.8.5 in BUILDING.md (detailyang) #118409861ec93d4
] - doc: increase Buffer.concat() documentation (cjihrig) #1184554879ab7d1
] - doc: fix mistakes in stream doc (object mode) (Christian d'Heureuse) #1180778ca15dd78
] - doc: argument types for dns methods (Amelia Clarke) #11764e84e33c87c
] - doc: fix a typo in api/process.md (Gaara) #1178075fcf53173
] - doc: missing argument types for events methods (Amelia Clarke) #11802ae52b63df2
] - doc: correct comment error in stream.md (Alexander) #11804e6f113d3d5
] - doc: console.log() -> console.error() in events.md (Vse Mozhet Byt) #11810cde5d71db1
] - doc: var -> let / const in events.md (Vse Mozhet Byt) #11810d0fb578d64
] - fs: avoid using forEach (James M Snell) #1158214e3ad0c5e
] - inspector: proper WS URLs when bound to 0.0.0.0 (Eugene Ostroukhov) #11850fbbcd1aa89
] - lib: Fix swallowed events in inspect integration (Jan Krems) #118699cc712ca18
] - lib: remove unused msg parameter in debug_agent (mr-spd) #1183377c69f7ace
] - lib, test: add duplicate symbol checking in E() (DavidCai) #118297e230727fc
] - module: avoid using forEach (James M Snell) #11582c0a2e02f51
] - net: avoid using forEach (James M Snell) #11582a0b1aa1161
] - readline: avoid using forEach (James M Snell) #11582e19ca8ba11
] - readline: remove unneeded eslint-disable comment (Rich Trott) #1183662e726109a
] - repl: avoid using forEach (James M Snell) #1158290be5a1f19
] - stream: avoid using forEach (James M Snell) #115822cab00aec0
] - test: fix assertion in vm test (AnnaMag) #118628bda7b8d39
] - test: add coverage for child_process bounds check (Rich Trott) #118003ae58acd29
] - test: failing behaviour on sandboxed Proxy (AnnaMag) #11671560d8eed9a
] - test: delay child exit in AIX for pseudo-tty tests (Gireesh Punathil) #11715f9c831f4b1
] - test: fix flaky test-domain-abort-on-uncaught (Rich Trott) #118172649dab274
] - test: added test for indexed properties (AnnaMag) #117692df662c95a
] - test: test resolveObject with an empty path (Daijiro Wachi) #11811d2c9111614
] - test: fix repl-function-redefinition-edge-case (Alexey Orlenko) #11772c9cf922248
] - test: add regex to assert.throws (Matej Krajčovič) #118155f6025ba68
] - test: fail when child dies in fork-net (Joyee Cheung) #11684c626734409
] - tls: fix segfault on destroy after partial read (Ben Noordhuis) #11898646ee559df
] - tls: avoid using forEach (James M Snell) #11582540830116b
] - tls: keep track of stream that is closed (jBarz) #117769a59913039
] - util: avoid using forEach (James M Snell) #11582本站原创,转载时保留以下信息:
本文转自:深度开源(open-open.com)
原文地址:http://www.open-open.com/news/view/7a52d7c2