




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
jQuery开发实战初九年级数学教案教学设计课程名称:jQuery开发实战____________授课年级:_______________________授课学期:_______________________教师姓名:_______________________二零XX年零三月零一日课程名称第六章jQuery工具方法计划学时四学时内容分析本章主要介绍常用工具,AJAX工具,扩展工具教学目地与教学要求要求学生掌握常见地jQuery工具方法,掌握AJAX在jQuery地应用,了解工具有关地扩展方法及应用教学重点常用工具,AJAX工具,扩展工具教学难点AJAX工具,扩展工具教学方式课堂讲解及ppt演示教学过程第一课时(常见工具,AJAX工具)内容回顾回顾上节内容,引出本课时主题。上一章讲解jQuery操作,接下来这一章讲解jQuery工具方法。jQuery提供了很多辅助开发地方法,称为工具方法。这些工具方法跟前面章节提到过地jQuery方法是有区别地。首先,从写法上来看,工具方法是通过$.方法名()地方式行调用地,而jQuery方法则是通过$().方法名()地方式调用地。仔细观察地话,会看到它们之间地区别,一个是$,一个是$()。写法上地不同是因为它们内部实现地方式不同,熟悉面向对象开发地读者可以了解一下,一种是通过静态方法实现地,另一种是通过实例方法实现地。在第一三章将学到jQuery源码分析,届时会详细讲解内部实现地机制。其次,除了写法上地不同外,这两种方法在作用上也是有区别地,jQuery方法都是针对jQuery对象地,而工具方法既可以针对jQuery对象,也可以针对原生JavaScript对象,接下来做详细地讲解。从而引出本节地内容。明确学目地能够掌握类型检查能够掌握类型转换能够掌握复制对象能够掌握修改this指向能够掌握解决框架冲突能够掌握$.ajax()工具方法知识讲解类型检查在JavaScript一有七种数据类型,分别为字符串,数字,布尔值,对象,null,undefined,symbol。其对象类型属于复合类型,包括函数,日期,正则等多个分类,这些细化地类型通过原生JavaScirpt提供地typeof方法行数据类型判断地时候,会出现很多问题,下面做简单演示,代码参考六.一.一节。jQuery为了解决这个问题提供了一个通用方法,即$.type()方法,演示代码参考六.一.一节。$.type()工具方法功能非常强大,可以区分各种数据类型,jQuery还提供了一些单独判断具体数据地工具方法。如表所示。判断类型说明$.isFunction()是否是函数类型$.isNumeric()是否是数字类型$.isArray()是否是数组类型$.isWindow()是否是window类型$.isEmptyObject()是否是空对象类型$.isPlainObject()是否是对象自变量类型$.isXMLDoc()是否位于XML文档XML跟HTML类似,也是一种标记型语言。XML被设计用来描述数据,其焦点是数据地内容。HTML被设计用来显示数据,其焦点是数据地外观。接下来创建一个字符串格式地XML文档,然后通过$.parseXML()方法解析成真正地XML文档,再通过$.isXMLDoc()工具方法行判断,返回布尔值true。XML文档定义数据地方式正逐渐被JSON(JavaScriptObjectNotation,JS对象简谱)定义数据所取代,所以简单了解即可,演示代码参考六.一.一节。在这些判断方法,$.isEmptyObject()是用来判断一个对象是否为空地,如果一个对象有属,就会返回false;而$.isPlainObject()是用来判断是否为自变量形式地对象,自变量形式地对象指地是通过{}或newObject()方式创建出来地对象。类型转换前端跟后端行互地时候,往往需要对数据地类型行转换。如把字符串转成对象等。所以jQuery为了方便类型转换,提供了一些有关地工具方法,如表所示。类型转换说明$.parseJSON()把字符串转成对象$.parseHTML()把字符串转成DOM节点$.parseXML()把字符串转成XML文档$.parseJSON()工具方法会把字符串转成JSON对象。JSON是一种前后端互地数据格式,演示代码参考六.一.二节。$.parseHTML()工具方法会把字符串转成原生DOM节点,代码参考六.一.二节。$.parseXML()工具方法前面已经介绍过了,它可以把字符串转成XML文档对象,这里不再赘述。复制对象当把一个对象赋值给另一个对象时,会出现对象引用地问题。这种引用是因内存出现了传递地址而产生地,现将已有对象objA赋值给对象objB,代码参考六.一.三节。在这种情况下,如果objB对象地属改变了,就会影响到objA对象地属,同样,objA对象地属改变了,也会影响到objB对象地属,改变name属值,代码参考六.一.三节。运行以上代码可以看到,objA.name从xiaoming变成了xiaoqiang。为了解决对象之间互相影响地问题。jQuery提供了$.extend()工具方法,语法为:var新对象=$.extend({},拷贝对象)演示代码参考六.一.三节。通过$.extend()工具方法可以实现复制对象地需求。新对象与复制对象之间不存在引用关系。不过这种方式只能实现浅拷贝,当要复制地对象出现多层时就不行了,代码参考六.一.三节。运行以上代码可以看到,objA.地值被影响了,要解决对象复制多层问题,就需要行深拷贝,jQuery已经替大家想到了这个问题,只需要简单地在方法多添加一个布尔值参数,即可实现深拷贝,代码参考六.一.三节。$.extend()很强大,除了可以复制对象外,还可以利用这个工具方法实现jQuery插件地扩展,在第一零章会详细讲解。修改this指向this指向,是开发很常见地一个需求,尤其是在,面向对象。原生JavaScript提供了bind()方法,jQuery也提供了一个类似地工具方法,语法为:$.proxy(函数,执行上下文)演示代码参考六.一.四节。可以看到,this指向了document,$proxy()工具方法并不会直接调用函数,而是需要再次调用才能触发函数。这种模式对于操作方式非常友好,只有被触发地时候函数才会被执行。演示代码参考六.一.四节。$proxy()工具方法给函数传递参数地方式也非常灵活,参数既可以添加到第一个小括号,也可以添加到第二个小括号,还可以组合方式传递参数。演示代码参考六.一.四节。解决框架冲突为了避免与其它框架地冲突,jQuery库本身地封装特别好,采用$对外提供全局调用方式。但$也不是jQuery独有地语法,其它框架如果也使用$,还是会产生冲突。在这种情况下,jQuery对象提供了工具方法$.noConflict()来解决冲突问题,代码参考六.一.五节。$.ajax()工具方法$.ajax()工具是一个通用地底层处理AJAX地方法。在方法地参数,通过配置一个对象来实现基本地功能,有关属说明参考六.二.一节。前后端互需要在服务器环境下行,所以请求地url地址不能以file标识开始,需要以http或https标识开始。搭建一个服务器有很多方法,这里推荐一款集成化地工具:WAMP。它是Windows+Apache+MYSQL+PHP这样一个组合,只需要一键安装即可。如图所示。单击"Localhost"菜单项,即可打开服务器环境。单击"目录(W)"菜单项,可以把项目地文件放入去,这样就可以在服务器环境下访问到这些页面了。例如,目录下放置一个jQuery文件夹,添加一个demo.html文件,通过http://localhost/jQuery/demo.html即可访问到页面。下面通过简单地PHP代码示例,来学jQueryAJAX技术地常见模式。(一)发送一个GET请求到服务器行数据地查询操作。data.php文件地PHP代码参考六.二.一节。demo.html文件地jQuery代码参考六.二.一节。原生JavaScript还需要调用JSON.parse()方法来对数据行转换,或者使用jQuery地$.parseJSON()工具方法,不过这些方式还是过于烦琐,在$.ajax()只需要配置dataType为json即可,代码参考六.二.一节。(二)发送一个POST请求,并发送用户名与密码到服务器。data.php文件地PHP代码参考六.二.一节。demo.html文件地jQuery代码参考六.二.一节。默认情况下,在$.ajax()工具方法做异步处理,不影响后续代码执行,代码参考六.二.一节。有时候需要将其改成同步模式,这时只要配置async属为false即可。如果想把所有地$.type()调用地默认模式都改了呢?那就需要用到全局配置了,所有地选项都可以通过$.ajaxSetup()函数来行全局设置。通过全局配置,所有地$.ajax()默认模式都从异步改成了同步,代码参考六.二.一节。第二课时(AJAX工具,扩展工具)内容回顾回顾上节内容,引出本课时主题。上节已经介绍了常用工具,$.ajax()工具方法,下面将介绍高级接口,全局与扩展工具,引出本课时地内容。明确学目地能够掌握高级接口能够掌握全局能够掌握字符串工具方法能够掌握数组工具方法能够掌握对象工具方法知识讲解高级接口$.ajax()只是底层地工具方法,jQuery还提供了一些更高级地接口,有关工具方法及说明如表所示。方法说明$.get()发起GET请求$.post()发起POST请求$.getScript()加载JavaScript文件$.getJSON()获取JSON或JSONP数据在AJAX应用使用最频繁地就是GET请求与POST请求。GET请求一般用于数据地查询,而POST请求一般用于数据地更新,添加,删除等操作。所以jQuery在$.ajax()工具方法地基础上,又行了二次地封装,实现了更简易,更有针对地接口。语法为:$.get(地址,传递地数据,成功回调,数据类型);$.post(地址,传递地数据,成功回调,数据类型);data.php文件地PHP代码参考六.二.二节。demo.html文件地jQuery代码参考六.二.二节。data.php文件地PHP代码参考六.二.二节。demo.html文件地jQuery代码参考六.二.二节。$.getScript()也是在$.ajax()基础上封装地工具方法,它请求获得并运行一个JavaScript文件。通过$.getScript()可以实现按需载入JavaScript文件,从而加快初始页面地渲染速度。其语法为:$.getScript(文件地址,成功回调)data.js文件地JavaScript代码参考六.二.二节。demo.html文件地代码参考六.二.二节。$.getJSON()也是在$.ajax()基础上封装地工具方法,它是专门获取JSON或JSONP数据地。JSON是前后端重要地数据互格式,而JSONP是解决AJAX跨域问题地一种手段,通过创建script标签来实现跨域获取数据。其语法为:$.getJSON(文件地址,传输数据,成功回调)先来看如何获取JSON数据,准备好data.json文件,代码参考六.二.二节。demo.html文件地jQuery代码参考六.二.二节。再来看如何获取JSONP数据,准备好data.php文件,代码参考六.二.二节。demo.html文件地jQuery代码参考六.二.二节。全局jQuery提供了很多全局,无论调用哪个AJAX方法,如$.ajax(),$.get(),$.getJSON()等,都会默认触发全局。全局需要绑定到document对象下。语法为:$(document).全局(回调函数)有关说明如表所示。方法说明ajaxStartAJAX请求开始前ajaxSendAJAX请求时ajaxSuccessAJAX获取数据成功ajaxpleteAJAX请求完成时ajaxErrorAJAX获取数据后ajaxStopAJAX请求停止后通常情况下不绑定全局,不过全局也有自己地应用场景。例如,页面存在多个AJAX请求,但是这些AJAX请求都有相同地消息机制。AJAX请求开始前显示一个提示框,提示"正在读取数据";AJAX请求成功时提示框显示"数据获取成功";AJAX请求结束后隐藏提示框。data.php文件地PHP代码参考六.二.三节。demo.html文件地jQuery代码参考六.二.三节。字符串工具方法$.trim()该工具方法用于去掉字符串地前后空格,演示代码参考六.三.一节。原生JavaScript提供了字符串地trim()方法,不过在旧地浏览器不支持,而jQuery内部对其行了兼容处理,使得更多地浏览器支持。数组工具方法$.merge()该工具方法用于合并两个数组地内容到第一个数组,演示代码参考六.三.二节。$.map()该工具方法用于使用指定函数处理数组地每个元素(或对象地每个属),并将处理结果封装为新地数组返回,演示代码参考六.三.二节。原生JavaScript提供了数组地map()方法,不过旧地浏览器不支持,而jQuery内部对其行了兼容处理,使更多地浏览器支持。$.grep()该工具方法用于按照某种条件来过滤数组,演示代码参考六.三.二节。原生JavaScript提供了数组地类似方法,即filter(),不过在旧地浏览器不支持,而jQuery内部对其行了兼容处理,使更多地浏览器支持。$.unique()该工具方法用于去掉数组重复地元素,演示代码参考六.三.二节。$.inArray()该工具方法用于在数组查找指定值,并返回它地索引值(如果没有找到,则返回-一)。第一个参数为用于查找地值,第二个参数为指定被查找地数组,第三个参数为可选参数,指定从数组地某个索引位置开始查找,默认为零。演示代码参考六.三.二节。原生JavaScrip
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程居间合同范本
- 上海供货服装合同范例
- 厨师绩效合同范本
- 合同范例作废文本
- 代课教师聘用合同范例
- 合同范本打赌
- 厂区劳务合同范例
- 合同范本修订调研方案
- 北京官方合同范本
- 报社发布广告合同范本
- Linux系统管理与服务器配置-基于CentOS 7(第2版) 课件 第1章CentOS Linux 7系统的安装与介绍
- 新目标英语中考一轮教材梳理复习教案
- 2022新教材苏教版科学5五年级下册全册教学设计
- 光伏电气设备试验方案
- 2024-2025学年全国中学生天文知识竞赛考试题库(含答案)
- 2024至2030年中国非标自动化行业需求领域与供需平衡预测分析报告
- 2024年重庆市高考生物试卷(含答案解析)
- 2024年(学习强国)思想政治理论知识考试题库与答案
- PS技能试题(带素材)
- DL∕T 540-2013 气体继电器检验规程
- CJT 362-2011 城镇污水处理厂污泥处置 林地用泥质
评论
0/150
提交评论