说起javascript不同的人或许有不同的看法,一些资深后台程序员在刚开始的时候根本没有把它当作是一门编程语言,但是随着后面js框架的出现,以及面向对象的程序设计,还有原型,闭包的不断使用,后台程序员也开始了用新的眼光来看待这个脚本语言了,在今天我们就来浅析一下这个刚开始为人所不重视的语言是怎样发生变化的,以及其自身的语法规则。

  在原生js中主要的内容有:基础的语法,for if do while 循环,还有一个switch,接下来就是事件,这个大约存在有22个事件,但是大部分都没有怎么使用,最为常用的还是平常使用的鼠标点击事件,键盘事件,接着就是DOM操作,主要的就是克隆节点,操作节点属性等等,如果使用原生js代码的话会显得有些麻烦,编码的速度和效率不是很高,这个我们后面有更好的选择,这里暂且不谈,还有一个相对应的就是BOM这个应用相对较少,主要用在页面的跳转上,最为熟悉的就是我们的js操作样式表,进行样式属性的获取与改变,通过这样我们就能动态的进行style操作了,这一点相当好,接下来就是我们原生js最为常用的功能了,表单,说起表单我们都不陌生,表单数据的提交,对于我们收据用户数据以及进行处理保管数据有很强的操作性。

在这里,也是使用js最多的一种操作了,主要包括了表单的验证,对用户输入的控制,同时这一点会引入我们的正则表达式,通过严格的表单验证可以确保我们收集数据的准确性和安全性,避免一些注入式的脚本攻击,这里的脚本攻击不同于我们的XSS,跨站攻击脚本攻击,通过严格的匹配就能确保这些夹杂在表单中的代码不能提交。

当我们写原生的js代码久了之后就会发现虽然执行的性能是不错,但是花费的时间确实很多,同样是获取一个节点的id,即使我们可以自己封装方法,但是代码仍然显得很臃肿,有没有一个新的方法可以简化这些代码,提高我们的开发效率呢?这个时候我们的jquery就诞生了,作为js的框架之一,jquery的主要特性就是对我们原生的js代码进行了一个封装,而我们使用jquery的主要方向就是特效的实现,里面同样涉及到DOM的操作,不过相比原生js而言,代码数量已经优化很多了,在这里值得一提的就是我们的ajax,写过原生ajax的都知道,一旦我们要发送一个ajax请求的话步骤很繁琐,需要创建对象啊,什么响应码的判断啊,各种杂乱,但是到了jquery这里,就简单的太多了,主要的使用方法在这里不谈,接下来就是我们jquery的动画了,这个主要是依赖于css3动画,结合自身动画而言的,最后需要提到的就是我们的事件,没错,在js中我们有很多的事件,在jquery中我们仍然有很多的事件,但是这里的事件和在js中稍微有所不同,这里涉及到jquery对象和js对象之间的转化,两者是不能混在一起使用的,在使用之前是需要进行相互转换的,具体的转化方法在这里也不谈。

  当我们写jquery到了一定的时间之后,或许你就会发现,jquery虽然简化了我们的代码,提高了快速化开发的效率,但是自身缺少模块化的东西,只能分散使用而不能将一些功能进行拆分成模块化,在之后的使用中可以根据我们的需要进行调用,现在我们的angular框架就出现了,其主要特征就是依赖注入,进行模块化的拆分以供调用,这正解决了我们原生js和jquery中的种种缺点。

很值得一提的就是我们的angular对DOM操作进行封装的很好,里面的事件都是基于模块化的主要使用指令ng-app等指令集合进行操作事件的,所以angular主要是以时间事件为驱动,为业务流程而生的框架,在这里可以解决我们开发中遇到的各种问题,进行模块化编程,进行管理,控制,大大提高了开发的效率和质量。

以上就是js中相互互补的框架之间的关系,其中涉及到的js,jquery angular 的具体操作在本文中暂且没有滤过,我们会在稍后的讲解中有所选择性的涉及。

javascript的框架演化的更多相关文章

  1. javascript单元测试框架mochajs详解

    关于单元测试的想法 对于一些比较重要的项目,每次更新代码之后总是要自己测好久,担心一旦上线出了问题影响的服务太多,此时就希望能有一个比较规范的测试流程.在github上看到牛逼的javascript开 ...

  2. JavaScript单元测试框架JsUnit基本介绍和使用

    JavaScript单元测试框架JsUnit基本介绍和使用 XUnit framework XUnit是一套标准化的独立于语言的概念和结构集合,用于编写和运行单元测试(Unit tests). 每一个 ...

  3. 一个简单的、面向对象的javascript基础框架

    如果以后公司再能让我独立做一套新的完整系统,那么我肯定会为这个系统再写一个前端框架,那么我到底该如何写这个框架呢? 在我以前的博客里我给大家展示了一个我自己写的框架,由于当时时间很紧张,做之前几乎没有 ...

  4. 12种JavaScript MVC框架之比较

    Gordon L. Hempton是西雅图的一位黑客和设计师,他花费了几个月的时间研究和比较了12种流行的JavaScript MVC框架,并在博客中总结了每种框架的优缺点,最终的结果是,Ember. ...

  5. JavaScript前端框架的思考

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:现在JavaScript前端框架层出不穷,尤其Angular进入到2.x时候之后,我们 ...

  6. JavaScript单元测试框架-Jasmine

    Jasmine的开发团队来自PivotalLabs,他们一开始开发的JavaScript测试框架是JsUnit,来源于著名的JAVA测试框架JUnit.JsUnit是xUnit的JavaScript实 ...

  7. 【JavsScript】JavaScript MVC 框架技术选型

    你很喜欢Gmail和Trello之类的单页面应用,但是不太确定该从何开始.也许你的JavaScript代码是如此的杂乱无章,以致于你很想在下一个项目上尝试下JavaScript MVC库和框架,却苦于 ...

  8. 【JavsScript】JavaScript MVC框架PK:Angular、Backbone、CanJS与Ember

    摘要:选择JavaScript MVC框架很难.一方面要考虑的因素非常多,另一方面这种框架也非常多,而要从中选择一个合适的,还真得费一番心思.本文对JavaScript MVC框架Angular.Ba ...

  9. 给力的轻量级JavaScript动画框架 - jsMorph

    jsMorph 是一个独立的轻量级 JavaScript 动画框架,可以用它来操纵多个 HTML 元素的样式,实现动画效果.此框架会自动检测起始位置.转换单位.调整渲染的速度,以此来获得更流畅的渲染体 ...

随机推荐

  1. UVA1416 Warfare And Logistics

    UVA1416 Warfare And Logistics 链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=36232 [ ...

  2. jQuery 数据 DOM 元素 核心 属性

    jQuery 参考手册 - 数据 .clearQueue() 从序列中删除仍未运行的所有项目 .clearQueue(queueName) $("div").clearQueue( ...

  3. Django中的Form(二)

    一.保存用户输入内容 如果用户输入一张表单提交后出现错误时,会出现重现填写的情况.我们可以把用户输入的信息保存下来,并返回到前台页面,这样用户就无需再次输入. views.py # coding:ut ...

  4. 600字读懂 Git

    译注:来自 Hacker School 的 Mary Rose Cook 实现了一个纯 JavaScript 写就的 Git:Gitlet,包含了最主要的一些命令.这个项目一是为了了解 Git 内部原 ...

  5. Apache 一台主机绑定多个域名及虚拟主机

    今天研究了下Apache下如何使用一台主机绑定多个域名且使用80端口.说白了就是在一台主机上运行多个网站,并且网站域名都是使用的80端口. 具体方法如下: 1.进入Apache conf目录,找到ht ...

  6. 【题解】A-B

    [问题描述]出题是一件痛苦的事情!题目看多了也有审美疲劳,于是我舍弃了大家所熟悉的 A+B Problem,改用 A-B 了哈哈!好吧,题目是这样的:给出一串数以及一个数字 C,要求计算出所有 A-B ...

  7. winform 窗体关闭按钮禁用、不显示最大化、最小化、关闭按钮 分类: WinForm 2014-12-22 16:09 82人阅读 评论(0) 收藏

    关闭按钮禁用: (1) FormClosing事件 private void Main_FormClosing(object sender, FormClosingEventArgs e) {     ...

  8. IAAS云计算产品畅想-公有云主机产品优势

    关于云计算的优势介绍真是太多太多了,但是说实话准确性欠妥. 云计算也是有很多细分的: 公有云.私有云.混合云 IAAS.PAAS.SAAS 园区云.行业云(医疗云.教育云等等) 说起优点来,绝对不能一 ...

  9. ImageView类简介

    4.8  图片控件 本节将要介绍的是图片控件ImageView,首先对ImageView类进行简单介绍,然后通过一个案例来说明ImageView的用法. 4.8.1  ImageView类简介 Ima ...

  10. docker-compose 工具安装

    centos 7 安装 之前测试过相关安装方法 pip python 安装不行 还是用下面这个办法搞定 curl -L https://github.com/docker/compose/releas ...