Js的一些列概念

88 阅读4分钟

js和nodejs

之前听闻过js和nodejs,用的时候也是直接复制粘贴,比较糙。
今天回过头来了解一下nodejs和js的关系:
两点:

  • Nodejs 是运行js的一个平台
  • Nodejs在浏览器之外运行V8引擎 js可以在浏览器中作为脚本语言使用,也可以在服务端使用。
    当js脱离和浏览器在服务端运行的时候,就需要Nodejs。

摘抄一些网上blog的解释:
Google Chrome 浏览器 -->内核是Blink --> V8引擎是Blink中负责处理js的引擎
Node.js 浏览器以外的一个运行js的平台 --> 底层用到了V8引擎 浏览器内核主要包括以下三个技术分支:排版渲染引擎、 JavaScript引擎,以及其他。

Nodejs让js可以脱离浏览器运行,这样就成为了和python一样的语言,可以用在服务端进行编程。

js和reactjs

reactjs是facebook的项目,网上的解释如下:
React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站。做出来以后,发现这套东西很好用,就在2013年5月开源了。由于 React 的设计思想极其独特,属于革命性创新,性能出众,代码逻辑却非常简单。所以,越来越多的人开始关注和使用,认为它可能是将来 Web 开发的主流工具。

  • react不是一个js的mvc框架
  • react不是一个新的模板语言 reactjs的主要触发点是虚拟组件,虚拟DOM(virtual-dom)不仅带来了简单的UI开发逻辑,同时也带来了组件化开发的思想,所谓组件,即封装起来的具有独立功能的UI部件。React推荐以组件的方式去重新思考UI构成,将UI上每一个功能相对独立的模块定义成组件,然后将小的组件通过组合或者嵌套的方式构成大的组件,最终完成整体UI的构建。
    简单总结一下就是,reactjs之前,开发时mvc架构,reactjs出来以后,开发有了组件开发这一说

reactjs和vuejs,angularjs

作为重要的业务支柱,我们在选择使用Web开发技术时,往往需要考虑待选技术在各个方面的优缺点。目前,无论是创业公司、还是独立软件提供商(ISV),普遍都会从AngularJS、React JS、以及Vue.js三个常用技术中进行挑选,毕竟它们都有着优秀的社区支持

  • angular:较早的前端框架,学习曲线比较陡,在2以后提供了组件化开发
  • vue:最火的前端框架
  • react:最流行的前端框架
  • vue通过vue文件组件化
  • react通过jscode来实现组件化
  • vue 双向绑定,DOM和data绑定,无论谁改变,两者都会保持一致
  • react 数据单向绑定,具体来说就是在View层直接写JS代码Model层中的数据拿过来渲染,一旦像表单操作、触发事件、ajax请求等触发数据变化,则进行双同步

antdesign 和 reactjs

antdesign是蚂蚁集团出品的组件库、基于reeactjs。简单说明就是:antdesign实现了一些reactjs的组件库,然后开源出来,供大家使用。 起初ant design基于react,后来又实现了很多种版本:

  • ant design of vue
  • ant design Blazor
  • ant design mobile of angular
  • ant design of angular

jquery

react、vue和jquery都是js库。

  • jquery 简单来说就是封装了一部分的函数,简化了原生js的写法,在实际使用时,jQuery对DOM树进行操控,即:首先有一个写好的html页面,再对其修改操作,如写按钮事件函数,点击隐藏,切换,页面跳转等。
  • vue、react 是一个view层的库,Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。从技术角度讲,Vue.js 专注于 MVVM 模型的 ViewModel 层
  • jquery是方法库
  • vue、react是UI库
  • augular是一个框架,framework,规定了整个程序的框架,程序结构需要满足augular的要求