JavaScript

JavaScript 是 web 开发人员必须学习的 3 门语言中的一门,都包括了HTML 定义了网页的内容;CSS 描述了网页的布局;JavaScript 控制了网页的行为;
JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。
JS的主要功能有:

1.嵌入动态文本于HTML页面。
2.对浏览器事件做出响应。
3.读写HTML元素。
4.在数据被提交到服务器之前验证数据。
5.检测访客的浏览器信息。 控制cookies,包括创建和修改等。
6.基于Node.js技术进行服务器端编程。

JavaScript运行环境

目前JavaScript脚本的运行环境有浏览器和node.js环境两种。

浏览器内核

JavaScript被定义为一种浏览器的脚本语言,一直以来其运行环境都是客户端浏览器,因为JavaScript设计的初衷就是做一些浏览器与用户的交互和一些网页的特效来补充HTML和CSS的不足。

node.js环境

Node.js 就是运行在服务端的 JavaScript。Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。使用Node.js可以方便地搭建响应速度快、易于扩展的网络应用。

流行的JavaScript框架

jQuery

jQuery提供了一个强大的选择器引擎,能通过元素标签名、类名、属性等各种能想到的方式获取DOM元素,并注册jQuery拓展的方法。
jQuery简化了一些操作,并提供更为人性化的API,最重要的是开创性的使用了构造器模式实现了链式调用,并且将大量方法提供到jQuery的DOM包装对象上,为jQuery插件的编写提供了更大的空间。
jQuery凭借容易使用的DOM操作API、强大的选择器和插件机制普及开来,并深深的影响了JavaScript这门语言。

Backbone和AngularJS

2010年,Jeremy Ashkenas发布了Backbone,这是第一个旨在创建单页应用程序的框架。Jeremy已经看到了一个巨大的jQuery应用程序可能变得多么混乱,并希望有一个更清晰的方法来纠正数千个选择器和交织事件处理程序。有趣的是,Backbone并不需要jQuery,它是一个独立的框架,但是如果存在jQuery,可以启用某些功能。
与此同时,Adam Abrons和Misko Hevery创建了AngularJS,当Hevery在公司工作时,不久后受到Google的关注。Angular是第一个为前端应用程序开发提供完整架构的框架。
AngularJS的主要功能之一是双向数据绑定,并提供了将模型数据绑定到HTML标记并实时更新的方法。开发人员称这种“automagic”。Angular也支持依赖注入和创建可重用组件的能力。

Angularjs的一些特点

1.由于低版本浏览器中的JavaScript不支持对象属性的赋值、取值钩子(setter、getter),Angular为了实现使用了定时器循环的脏检查,这对低版本和移动端的性能造成影响。
2.Angularjs为了能收集用户输入,覆盖了window上一些特定的对象,造成一定的侵入性,在技术选型上需要特别注意。

React

React 是一个用于构建用户界面的 JAVASCRIPT 库。
React 主要用于构建UI,很多人认为 React 是 MVC 中的 V(视图)。
React 起源于 Facebook 的内部项目,用来架设 Instagram 的网站,并于 2013 年 5 月开源。
React 拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它。

特点

1.声明式设计 −React采用声明范式,可以轻松描述应用。
2.高效 −React通过对DOM的模拟,最大限度地减少与DOM的交互。
3.灵活 −React可以与已知的库或框架很好地配合。
4.JSX − JSX 是 JavaScript 语法的扩展。React 开发不一定使用 JSX ,但我们建议使用它。
5.组件 − 通过 React 构建组件,使得代码更加容易得到复用,能够很好的应用在大项目的开发中。
6.单向响应的数据流 − React 实现了单向响应的数据流,从而减少了重复代码,这也是它为什么比传统数据绑定更简单。

Vue

Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。

参考资料

1.从JavaScript框架的演变思考前端开发

JS学习笔记-关于JavaScript相关推荐

  1. JS学习笔记二——JavaScript 基础知识

    JavaScript 基础知识 一.JavaScript 变量 二.JavaScript 的输出 三.JavaScript 运算符 四.结语 一.JavaScript 变量 变量是指在程序运行过程中, ...

  2. JS学习笔记(JavaScript基础学习必备)

    讲解JavaScript 基础语法.关键特性.JSON.WebAPI 等知识点.涉及网页窗口交互的方法以及通过 DOM 进行网页元素的相关操作. 文章目录 一.JavaScript 基础 1.什么是 ...

  3. JS学习笔记:Javascript给对象增加属性(函数作为属性)

    //给对象增加属性(函数作为属性) let person1 = {};// 增加属性 person1.firstName = "John"; person1.lastName = ...

  4. javascript从入门到跑路-----小文的js学习笔记(25)------运动框架----匀速运动、缓冲运动、多物体运动、链式运动

    ** javascript从入门到跑路-----小文的js学习笔记(1)---------script.alert.document.write() 和 console.log 标签 javascri ...

  5. javascript从入门到跑路-----小文的js学习笔记目录

    ** javascript从入门到跑路-----小文的js学习笔记(1)---------script.alert.document.write() 和 console.log 标签 javascri ...

  6. html 流程控制,HTML5独家分享:原生JS学习笔记2——程序流程控制

    当当当当 .....楼主又来了!新一期的js学习笔记2--程序流程控制更新了! 想一键获取全部js学习笔记的可以给楼主留言哦! js中的程序控制语句 常见的程序有三种执行结构: 1.顺序结构 2.分支 ...

  7. Node.js学习笔记8

    Node.js学习笔记8 HTTP服务器与客户端 Node.js的http模块,封装了一个高效的HTTP服务器和一个简易的HTTP客户端 http.server是一个基于事件的HTTP服务器,核心由N ...

  8. node.js学习笔记5——核心模块1

    node.js学习笔记5--核心模块1 Node.js核心模块主要内容包括:(1)全局对象 (2)常用工具 (3)事件机制 (4)文件系统访问 (5)HTTP服务器与客户端 一: 全局对象 Node. ...

  9. JS学习笔记六:js中的DOM操作

    1. JS学习笔记六:js中的DOM操作 文章目录 1. JS学习笔记六:js中的DOM操作 1.1. 获取Dom节点 1.2. 元素属性的操作方式 1.3. DOM节点的创建.插入和删除 1.4. ...

最新文章

  1. android h5 禁止缩放,vue h5移动端禁止缩放代码
  2. 一个中年程序员遇到突发情况的一些胡言乱语
  3. Spark学习笔记(3)--SparkContext部分源码分析
  4. 6.5版本虚拟机的封装
  5. Pytest之skip、skipif、xfail
  6. Nginx 读写分离详解
  7. C# Stream 和 byte[] 之间的转换[转]
  8. can 升级软件 上位机 C# 源码 支持STM32升级 提供源码 提供CAN协议
  9. pyc文件反编译到Python源码
  10. HTML+CSS实现前端网页界面案例
  11. 使用CobaltStrike制作钓鱼网站
  12. UDS(统一诊断服务)的理解——0x19服务
  13. 一种文件捆绑型病毒研究
  14. 极速掌握HTML(一)基础入门
  15. java.lang.IncompatibleClassChangeError 常见错误
  16. 数据中心的端口密度该如何增加?
  17. 网络营销 实战才能得出真理
  18. 汪光焘:新时期城市交通需求演变与展望
  19. 日期格式小练笔“2012-3-17“到“2012-4-6“ 中间有多少天?
  20. 《程序天下事》6月要闻回顾

热门文章

  1. 05计算机优秀毕业论文-系统设计
  2. 嘀嗒顺风车就关于乘客遗失物品的处理方式发起网友讨论
  3. Error:Internal error: org.jetbrains.jps.model.serialization.CannotLoadJpsModelException
  4. (Vue)Vue课后题
  5. PaddleSeg 分割模型介绍
  6. mysql.exe 不是有效的32位程序
  7. Explain字段解释——rows
  8. JAVA图像压缩,JAI解决之道.
  9. 248、手把手教您配置H3C路由器
  10. photoshop自学