小程序开发如火如荼,如果你是程序员,你还不懂小程序的开发,恐怕会被同行认为太LOW了吧!不过,新入行小程序开发者确实会被新的名词搞得一头雾水。

比如JavaScript不是在浏览器端运行吗,怎么还可以写服务器端的程序,NodeJS是干啥的,V8和NodeJS有啥区别,什么NMP命令,它是干嘛的,想把这些东东的本质看透吗,我们来剖析一下吧。

01

JavaScript是啥

JavaScript

JavaScript是一种属于网络的解释性脚本语言,已经被广泛用于Web应用开发,用来给HTML网页增加动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。它的解释器被称为JavaScript引擎,为浏览器的一部分。

02

V8是啥

V8引擎

V8引擎就是JavaScript运行的解释器,是JavaScript一种引擎。它是Google开发的,作为chrome浏览器的JavaScript执行解释器,性能十分优秀,被广泛的使用。

03

何谓NodeJS

NodeJS

在2009年的欧洲JavaScript大会上, 年轻程序员Ryan Dahl展示了他正在从事的一个项目,该项目是一个集成了Google V8 JavaScript引擎、事件循环和底层I/O应用编程接口(Application Programming Interface, API)的平台。

与其他服务器端的JavaScript平台不同,Dahl的平台中所有I/O原语都是事件驱动的,除此以外别无他途。借助JavaScript的影响力和易用性,Dahl的项目使得编写基于事件驱动的服务器端应用程序的任务由难变易, 因此,该项目受到了热烈欢迎, 并且它的发展、普及和被接受程度都是前所未有的。这个项目被命名为NodeJS。NodeJS不单单是JavaScript引擎,JavaScript引擎只是它的一个子集。

NodeJS中的JavaScript引擎没有BOM、DOM。NodeJS是JavaScript的一种运行环境,是对Google V8引擎进行的封装。是一个服务器端的JavaScript的解释器。

04

什么是NPM

nmp管理工具

除了使用NodeJS语言特性及核心函数,我们还需要使用一些已经编写好的优秀的第三方库, 这也是为什么大多数编程平台都具有一个系统用来下载、 安装和管理第三方模块的原因。 在NodeJS中这个系统被称为NodeJS包管理器(NodePackage Manager, NPM)。NPM是三位一体的系统第三方包库、管理计算机中安装的包的机制以及定义包依赖关系的标准。NPM提供了一种公共注册服务,它包含了程序员在NPM中发布的所有包,NPM还提供了一个命令行工具用来下载、安装和管理这些包。

在早期,NPM和NodeJS是要分别独立安装的,但是从0.6.0版开始,NPM就己经包含在Node的安装包中。NodeJS中含有NPM。

JavaScript怎么安装_几句话说清楚JavaScript、V8引擎、NodeJS、NMP,到底是什么东东...相关推荐

  1. JavaScript 工作原理(二)-如何在 V8 引擎中书写最优代码的 5 条小技巧(译)

    From:https://segmentfault.com/a/1190000014770145 原文请查阅这里,略有删减. 本系列持续更新中,Github 地址请查阅这里. 这是 JavaScrip ...

  2. javascript演变史_检查有史以来最著名JavaScript错误之一

    javascript演变史 by aiswarya krishna 通过aiswarya克里希纳 检查有史以来最著名JavaScript错误之一. (Inspecting one of the mos ...

  3. javascript写字技巧_怎样扎实自己的 JavaScript 基础?

    从扎实的角度来讲,首先就是要理解原理,而不是止步于工具.方法.api.更不能只以某框架为学习目标. 对于JavaScript来讲,第一要理解它的基于对象:第二要理解在js里一切都是对象:第三要理解按值 ...

  4. javascript毫秒计时器_如何在倒数计时器javascript中显示毫秒

    我重写了代码以包含毫秒.还要确保setTimer设置正确. var mins var secs; var ms; function cd() { mins = 1 * m("05" ...

  5. javascript写字技巧_如何优雅地书写JavaScript

    这篇文章包含了几乎所有关于提高代码质量的内容,尤其是在构建大型应用程序时. 主要包括四个部分: 基本原则 保持整洁 保持扩展性 抽象化 本主题仅涉及原生js,关于框架(比如react和vue)的内容会 ...

  6. javascript V8引擎垃圾收集机制

    V8引擎使用的垃圾收集机制是标记清除,那么javascript在垃圾收集会阻塞其他程序执行.V8引擎使用了增量标记的方式进行优化 增量标记 V8不是直接对整个栈堆遍历标记,而是标记一部分堆后回复正常执 ...

  7. pyppeteer有java版本吗_Pyppeteer中文文档_序言_安装_基本使用及注意事项

    Pyppeteer中文文档_序言_安装_基本使用及注意事项 Pyppeteer是Puppeteer Javascript(无头) chrome/chromium 浏览器自动化库的Python非官方端口 ...

  8. javascript经典实例_一道前端经常忽视的JavaScript面试题

    题目 function Foo() { getName = function () { alert (1); }; return this;}Foo.getName = function () { a ...

  9. php mysql安装_搭建PHP环境中的MySQL配置

    第一大步:下载. a.俗话说:"巧妇难为无米之炊"嘛!我这里用的是 ZIP Archive 版的,win7 64位的机器支持这个,所以我建议都用这个.因为这个简单嘛,而且还干净. ...

最新文章

  1. 程序员再也不能埋头敲代码了
  2. Java编程中,有哪些好的习惯从一开始就值得坚持?
  3. 让用户更改自己的帐号
  4. [codevs 1912] 汽车加油行驶问题
  5. Channel使用技巧
  6. Apache与Tomcat 区别与联系
  7. Allocate aligned memory
  8. 如何在ps添加箭头_如何利用Word制作出这么漂亮的表格
  9. spring boot项目下的application.properties中的logging.level设置日志级别
  10. Lync Server外部访问系列PART1:准备边缘
  11. python写刷课脚本_python opencv 知到 刷课 脚本
  12. C语言基础知识快速入门(全面)
  13. 机架服务器怎么安装系统,华三服务器安装系统步骤(图解华三服务器怎么安装)...
  14. GLFWError #65542 Happen, WGL: The driver does not appear to support OpenGL的问题处理经历
  15. 解决Windows服务器localhost可以访问,IP无法访问的问题
  16. AD603+MCP4725+STM32-----自动增益控制电路
  17. 《数字图像处理》第12讲——图像表示与描述
  18. UE4.26 Niagara Initial Mesh Orientation使用方法
  19. 利用ARCGIS和QGIS画等值线图
  20. 电力电子技术笔记-整流电路

热门文章

  1. 【MSTR产品】获取当前登陆用户的login_id
  2. 使用Opencv的一些注意事项
  3. 【阿佳说】打造抖音个人IP实现利润翻倍
  4. 任务二 用户注册界面设计
  5. 系列笔记 | 深度学习连载(2):梯度下降
  6. Golang + Goland环境配置 + Goland破解
  7. 改变TPageControl的活动标签颜色
  8. bash-shell高级编程--引用
  9. visual c++ 部分窗口样式设置
  10. Git错误non-fast-forward后的冲突解决