title: 前端理论 author: PanXiaoKang cover: https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=605581599,2229068712&fm=26&gp=0.jpg tags:

  • JavaScript
  • Jquery
  • Ajax
  • Json categories:
  • 前端技术 date: 2020-04-21 20:38:00

# JavaScript、Ajax、JQuery和JSON的关系

# JavaScript、Ajax、JQuery和JSON简介

1.javascript是一门编程语言,我们用它来编写客户端浏览器脚本。
2.JavaScript 为页面提供更多功能,是页面交互功能的基础语言。此外它的语言规范和引擎还被用于其他领域,比如 Node 等。
3.jQuery是javascript的一个库,简化js编程,兼容性更强,写的更少,做的更多 
4.jQuery能做的javascipt都能做到,而javascript能做的事情,jQuery不一定能做到
5.jQuery是一个框架,它对JS进行了封装,使其更方便使用。jQuery使得JS与Ajax的使用更方便
6.Ajax是一门技术,它提供了异步更新的机制,使用客户端与服务器间交换数据而非整个页面文档,实现页面的局部更新。
7.Ajax 技术提供了一种新的前后端数据交互方式,不需要刷新页面,而且不阻塞页面执行流程,异步的去请求去获取、交互数据。
8.Ajax的优点:  
	无需刷新页面即可实现数据的请求和响应,用户体验非常好。  
	使用异步方式与服务器通信,具有更加迅速的响应能力。  
9.基于标准化的技术,不需要下载插件或者小程序。
10.JSON 用来描述前后端数据交互的内容格式,有了 JSON 这样的一套统一的描述规则,前后端解析数据的成本变低,使用非常简单。  
JSON 属于 JavaScript 的一个子集。
11.详情链接
	https://blog.csdn.net/jediael_lu/article/details/38312685


Ajax的优点:
1.无需刷新页面即可实现数据的请求和响应,用户体验非常好。
2.使用异步方式与服务器通信,具有更加迅速的响应能力。
3.基于标准化的技术,不需要下载插件或者小程序。

JSON 用来描述前后端数据交互的内容格式,有了 JSON 这样的一套统一的描述规则,前后端解析数据的成本变低,使用非常简单。
JSON 属于 JavaScript 的一个子集。
详细链接:https://blog.csdn.net/jediael_lu/article/details/38312685

# JavaScript部分

1.定义:JavaScript是一种基于对象和事件驱动的脚本语言,在客户端执行。

2.特点:

1. 是一种边解释边执行的脚本语言,不需要编译。  
2. 主要用来向HTML页面添加交互行为。  
3. 可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。  
4. 平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行。  

3.JavaScript组成:
1.ECMAScript:描述了该语言的语法和基本对象
2.DOM:操作Html标签的方法和接口
3.BOM:操作浏览器的方法和接口

4.JavaScript日常用途:

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

5.什么是函数?
    函数的含义:类似于Java中的方法,是完成特定任务的代码语句块;
    使用更简单:不用定义属于某个类,直接使用;
    函数分类:系统函数和自定义函数

6.BOM和DOM具体内容:https://blog.csdn.net/qq877507054/article/details/51395830

BOM编程:
1.BOM可实现功能:
      1.弹出新的浏览器窗口
      2.移动、关闭浏览器窗口以及调整窗口的大小
      3.页面的前进、后退
具体地址:https://blog.csdn.net/nanjinzhu/article/details/82718317

DOM编程:
1.	特点:任何一个节点都有若干个子节点,但却只有一个父节点。
2.	地址:https://blog.csdn.net/yanyan965914478/article/details/90209377

JavaScript作用域:  
在JavaScript中,作用域为可访问变量,对象,函数的集合。  
变量在函数内部声明即为局部变量,在函数外部定义即为全局变量。  
局部变量只能在函数内访问,全局变量在网页中所有脚本和函数均可访问。  
(注意:如果变量在函数内没有使用var关键字,该变量自动为全局变量)  
生命周期:局部变量在函数执行完毕后销毁,全局变量在页面关闭后销毁。  

# 部分方法解释

1.Window对象的定义和用法:  
confirm()方法用于显示一个带有指定消息和确认及取消按钮的对话框。  

如果访问者点击"确定",此方法返回true,否则返回false。

2.JavaScript decodeURI() 函数定义和用法:
decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解码。

提示: 使用 encodeURI() 函数可以对 URI 进行编码。

3.onfocus 事件  
定义和用法  
onfocus 事件在对象获得焦点时发生。

Onfocus通常用于 input, select, 和a

提示: onfocus 事件的相反事件为 onblur 事件。

4.input中 autocomplete 属性
定义和用法
autocomplete 属性规定输入字段是否应该启用自动完成功能。

自动完成允许浏览器预测对字段的输入。当用户在字段开始键入时,浏览器基于之前键入过的值,应该显示出在字段中填写的选项。

注意:autocomplete 属性适用于下面的 input 类型:
	text、search、url、tel、email、password、datepickers、range 和 color。


5.onblur 事件
定义和用法
onblur 事件会在对象失去焦点时发生。

Onblur 经常用于Javascript验证代码,一般用于表单输入框。

提示:onblur 相反事件为 onfocus 事件 。

# JQuery框架

1.简介:jQuery 是一个快速、轻量级、可扩展的 js 库,它提供了易于使用的跨浏览器的API,使得访问dom,时间处理、动画效果、ajax请求变得简单。
2.JQuery具有以下特点:  
2.1快速获取文档元素  
2.2提供漂亮的页面动态效果   
2.3创建AJAX无刷新网页  
2.4提供对JavaScript语言的增强  
2.5增强对事件处理  
2.6更改网页内容  

3.方法分析:  
1..attr() 方法:设置或返回被选元素的属性和值。
2..change() 方法:当元素的值改变时发生 change 事件(仅适用于表单字段)。触发change 事件,或规定当发生 change 事件时运行的函数。
3..ready() 方法:规定当 ready 事件发生时执行的代码。
4..slideToggle()方法:下拉显示或上升隐藏

详细地址:https://blog.csdn.net/msyqmsyq/article/details/82018218

4.JQuery代码写法解释:
    $("tr:eq(1)  td:eq(2)"):这代表了要选中表格的第二行中的第三个单元格,如果在后面再加上.text() 代表要取出这个单元格中的文本。

5.prop()方法获取匹配的元素的属性值。  
   这个方法是jquery1.6以后出来的,用来区别之前的.attr()方法.  
区别最大的一点就是:布尔型的属性,1.6以后都是用.prop()方法就好了。  
这个布尔型的属性,再解释一下,是属性值只有true|false的属性。  
还有种情况就是只添加属性名,不需要写属性值的就可以生效的也同样使用.prop()方法。比如:checked、disable这样的,其实它们说到底还是属于布尔型的属性。  
1.添加属性名称该属性就会生效应该使用prop();  
2.是有true,false两个属性使用prop();  
3.其他则使用attr();  
6.部分方法解释:  
$(this).attr(key); 获取节点属性名的值,相当于getAttribute(key)方法  
$(this).attr(key, value); 设置节点属性的值,相当于setAttribute(key,value)方法 
$(this).val();获取某个元素节点的value值,相当于$(this).attr(“value”);  
$(this).val(value);设置某个元素节点的value值,相当于$(this).attr(“value”,value);  
7.jQuery ready() 方法:  
    7.1定义和用法  
    	当 DOM(document object model 文档对象模型)加载完毕且页面完全加载(包括图像)时发生 ready 事件。使用 ready() 来使函数在文档加载后是可用的。  
    	提示:ready() 方法不应该与 <body onload=""> 一起使用。  
JQuery中 $(function(){})和$(document).ready(function(){})是等价的,jq ready()的方法就是Dom Ready,他的作用或者意义就是:在DOM加载完成后就可以可以对DOM进行操作。  
8.jQuery change() 方法:  
    8.1定义和用法  
    	当元素的值改变时发生 change 事件(仅适用于表单字段)。  
    change() 方法触发 change 事件,或规定当发生 change 事件时运行的函数。  
    	注意:当用于 select 元素时,change 事件会在选择某个选项时发生。当用于 text field 或 text area 时,change 事件会在元素失去焦点时发生。  
9. jQuery post() 方法  
    9.1定义和用法:$.post() 方法使用 HTTP POST 请求从服务器加载数据。

# AJAX异步通信

1.定义:是一种无需加载整个网页的情况下,实现部分网页的更新的技术。
2.用途:在不用提交整个页面的情况下,进行局部刷新,从而进行客户端与服务端的数据交互。
3.优点:  
   使用异步方式与服务器进行通信,具有更加迅速的响应能力。
   最大的优点是页面无刷新即可实现数据的请求与响应,用户体验非常好。
   基于标准化的并被广泛支持的技术,不需要下载小插件或程序。
4.缺点:  
   异步请求不会在浏览器中产生后退历史,而同步访问会对浏览器产生后退历史。
   使用JavaScript作Ajax的引擎,JavaScript的兼容性和Debug需要特别注意。
5.什么是异步?  
    异步和同步是对应的关系。
    同步是指在网页中,当一个请求发出后,服务器没有响应结束之前,不允许对当前页面进行其他操作(如点击链接),相当于多任务串行。  
    异步是指当一个请求发出后,在服务器没有响应结束之前,可以对当前页面进行其他操作,相当于多任务并行。  
    1.同步现象:当客户端向服务器发送请求,在服务器返回响应之前,客户端处于等待,卡死状态。  
    2.异步现象:客户端向服务器发送请求,无论服务器是否返回响应,客户端随时可以做其他事情,不会被卡死。  

地址:AJAX详解 (opens new window)