背景:使用了JS做一个 WEB 项目之后,一直有使用JS 的一个功能,突然某一天项目重新规划,开始自己手动写一些原始JS,情况不妙,原来之前一直是用同事搭建好的框架在开发,对 JS 零基础的我一直在 ctrl+c/ctrl+v的重复操作,偶尔写一些局部事件,针对什么是JS/ajax/jQuery/$一概不知。

一. JS/ajax/jQuery/$ 比较,先说一下结论:它们之间没有可比性

  开篇之前对JS/ajax/jQuery/$傻傻分不清,直观的用起来感觉都是一个东西,其实他们之后没有可比性:

  1. JS 是一种语言; 相当于 Java语言;

  2. ajax 是一门技术;

  3. jQuery 是一个库或者框架; 相当于JavaBean, 在java的基础上开发出来,用来更加方便处理某一类业务而产生;

  4. $是 JQuery 的别名;

二. JS/ajax/jQuery/$ 概念理解  

1. 什么是JS

  JS是JavaScript 的简称,JavaScript 是一种轻量级的脚本语言,用来给静态页面增加动态效果,主要用在 web 项目开发中或一些网站上;

  解析JavaScript 的解释器成为 JavaScript 引擎,为浏览器的一部分。web客户端大部分是浏览器,利用 js 另一方面提高了浏览器访问效率同时减轻了服务器的负载。

2. 什么是 ajax

 ajax 是的一门技术, 实现异步请求局部更新; 所谓异步, 就是向服务器发送请求,不必等待结果就可以做其他事情; 所谓局部更新, 是指不用加载整个页面,只是向服务器请求少量数据, 实现局部更新的效果;

 a: 异步;  j: javascript;  a: and; x: xml;

 好处:传输数据量减少、减轻服务器负载、缩短用户等待时间;

 eg:1. 网页上的股票波动图, 在ajax之前,是每隔10秒后台自动刷新一界面;ajax,只是部分内容更改;

   2. 朋友圈点赞,界面效果:只是更新了点赞的数据量;

  说明:Ajax 是一段用JS写出来的代码,用于实现JS同后台交互的功能;

3. 什么是 JQuery

 JQuery 是JS 的一个库或框架,它兼容 CSS3 和不同浏览器(JQuery2 以后不支持IE6.7.8);

  使用 JQuery 能够实现 Write Less Do More 的效果,用很少的代码即可实现一些比较繁杂的工作,JQuery 的增强操作体现在下面几点:

  1. 访问 HTML节点并对它做一些操作;

  2. 事件处理;

  3. 动画;

  4. 快速 Web 开发中 ajax 互操作;

  说明: JQuery 很强大,代码也比较精炼,JQuery 上手比较简单,是刚做前端开发的人的首选,但很多用JQuery开发多年的前端工程师,摒弃JQuery 对JS代码看不懂也是现在的一个常态(被很多前端大牛所鄙视),当能使用JQuery 之后需要回头对JS语法进行一个重学,避免知其然而不知其所以然的情况。

4. 什么是 $

 在 JQuery 中, $符号是JQuery 的别名,默认JQuery 类库是以JQuery 开头。

三. JS/ajax/jQuery/$ 之间的 关联关系

  JS 是语言基础,用于实现动态网页;

  Ajax 是一段 JS 代码,一个应用于同后台交互的技术;

  JQuery 是一个类库,根据一些常用的操作组合而成的轻量级 JS 库,被大部分前端开发所使用;

  $ 是 JQuery 的一个别名

Java程序员之JS(一) 入门的更多相关文章

  1. 为 Java 程序员准备的 Go 入门 PPT

    为 Java 程序员准备的 Go 入门 PPT 这是 Google 的 Go 团队技术主管经理 Sameer Ajmani 分享的 PPT,为 Java 程序员快速入门 Go 而准备的. 视频 这个 ...

  2. 来自Java程序员的Python新手入门小结

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  3. Java程序员之Spring(一) 入门

    一. Spring 原理讲解  Spring 是一个轻量容器框架(开源):Spring的核心是 IoC(控制反转) 和 AOP(面向切面编程): Spring 由7个模块组成: Spring Core ...

  4. Java程序员之JS(一) 之 JQuery.ajax

    背景:紧着现在项目的需要,先从JQuery.ajax出发,主要需求是通过 js 调用Java 代码,从而适应现在的项目. 先从几个概念开始讲解: 一. 什么是Deferred  Deferred 对象 ...

  5. java程序员理解js中的闭包

    1.闭包概念: 就是函数内部通过某种方式访问一个函数内部的局部变量 再次理解: 闭包产生原因: 1.内部函数引用了外部函数的变量 作用:延长局部变量的生命周期 让函数外部可以调用到函数内部的数据 利用 ...

  6. Java 程序员的大数据入门指南

    项目 GitHub 地址:https://github.com/heibaiying/BigData-Notes ✒️ 前 言 大数据常用技术栈思维导图 大数据常用软件安装指南 一.Hadoop 分布 ...

  7. Java程序员必备后台前端框架--Layui【从入门到实战】(一)

    layui入门使用及图标的使用 作者 : Stanley 罗昊 [转载请注明出处和署名,谢谢!] [编程工具:IDEA] 下载Layui与文件分析 下载直接去官网下载即可 文件分析 下载完成后,解压会 ...

  8. Java程序员快速入门Go语言

    这篇文章帮助Java程序员快速入门Go语言. 转载至 开源中国社区. http://www.oschina.net 本文将以一个有代表性的例子为开始,以此让Java程序员对Go语言有个初步认识,随后将 ...

  9. java程序员入门:英语好不好对编程到底有没有影响

    我想当码农,听说钱钱拿的多! 哦.是很有钱!么样? 可是我不会! 那你想么样?去学撒! 可是,我英语差-- 有多差??? 很差-- 那????? 关于英语水平对编程的影响,我们一起来看看啦!希望可以解 ...

随机推荐

  1. arch初认识

    在这里下载最新的iso镜像,一个iso里面已经包括了32和64位. 来者不善. 进去后竟然是进入字符界面,并且给各位留了一个install.txt,果然..==! 好吧,粗略看下install.txt ...

  2. Redis数据结构:字典(hash表)

    使用场景: # set person name "tom" # set person name "jerry" 1. 字典结构: 哈希表数据结构 typedef ...

  3. diff和patch 打补丁

    在Linux环境下,有两个工具用来给project打补丁,即diff和patch diff         diff具有比较功能.可以使用man命令查看其使用方法. NAME        diff ...

  4. 《Drools7.0.0.Final规则引擎教程》第4章 4.3 日历

    日历 日历可以单独应用于规则中,也可以和timer结合使用在规则中使用.通过属性calendars来定义日历.如果是多个日历,则不同日历之间用逗号进行分割. 在Drools中,日历的概念只是将日历属性 ...

  5. Vim技能修炼教程(9) - 缓冲区和标签页

    缓冲区 上一节我们学习了窗口相关的命令,其实多窗口的最大功能在于存放多个不同的缓冲区. 文件载入内存之后,我们操作的其实是缓冲区.:write命令就是将缓冲区写回文件的目的. 查看内存中的缓冲区 通过 ...

  6. C# Thrift 实战开发 从PLC到Thrift再到客户端集成开发

    About Thrift: 本文并不是说明Thrift设计及原理的,直接拿Thrift来开发一个Demo程序,如果想要了解Thrift的细节,可以访问官方网站:https://thrift.apach ...

  7. iPhone开机键坏了如何开机

    作死 开机 [苹果手机/iphone开机键坏了怎么开机]

  8. [剑指offer]数组中最小的K个数,C++实现

    原创博文,转载请注明出处! http://github.com/wanglei5205 http://cnblogs.com/wanglei5205 # 题目 输入n个整数,找出其中最小的K个数.例如 ...

  9. linux中的网络基础

    ifconfig -a 查看所有网口ifconfig eth 查看具体网口 ifup ethoifdown etho 网卡配置文件/etc/sysconfig/networkk-scripts/ifc ...

  10. 通过反编译让SpecFlow支持多层属性值的验证

    需求:在使用SpecFlow时,我希望能对目标对象所关联的对象属性进行验证,但SpecFlow(Version 1.9.0)无法实现.如图中红框,可以对专户所属的金融机构的名称进行验证. 反编译步骤 ...