Web前后端数据交互技术 课件 6.3非核心代码异步加载_第1页
Web前后端数据交互技术 课件 6.3非核心代码异步加载_第2页
Web前后端数据交互技术 课件 6.3非核心代码异步加载_第3页
Web前后端数据交互技术 课件 6.3非核心代码异步加载_第4页
Web前后端数据交互技术 课件 6.3非核心代码异步加载_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

——江西应用技术职业学院web前后端数据交互技术

非核心代码异步加载6.3async应用defer应用动态脚本加载目录CONTENTS12301动态脚本的加载6.3非核心代码异步加载动态脚本加载1、直接document.write2、动态改变已有script的src属性3、动态创建script元素动态脚本加载1、直接document.write<scriptlanguage="javascript">document.write("<scriptsrc='test.js'><\/script>");</script>动态脚本加载2、动态改变已有script的src属性<scriptsrc=''id="s1"></script><scriptlanguage="javascript">s1.src="test.js"</script>动态脚本加载<script>varoHead=document.getElementsByTagName('HEAD').item(0);varoScript=document.createElement("script");oScript.type="text/javascript";oScript.src="test.js";oHead.appendChild(oScript);</script>3、动态创建script元素02defer应用6.3非核心代码异步加载

defer应用defer属性规定是否对脚本执行进行延迟,直到页面加载为止。defer定义:defer应用为什么需要deferfuncf(){r:=getResource()//0,获取资源......if...{r.release()//1,释放资源return}......if...{r.release()//2,释放资源return}......if...{r.release()//3,释放资源return}......r.release()//4,释放资源returndefer应用funcf(){r:=getResource()//0,获取资源

deferr.release()//1,注册延迟调用函数,f()函数返回时才会调用r.release函数释放资源

......if...{return}......if...{return}......if...{return}......return}为什么需要deferdefer应用Defer语法及语义deferxxx(arg0,arg1,arg2,......)defer应用defer

使用要点延迟对函数进行调用;即时对函数的参数进行求值;根据defer顺序反序调用;defer应用案例:defer

函数延迟调用funcf(){deferfmt.Println("defer")fmt.Println("begin")fmt.Println("end")return}beginenddefer输出结果:defer应用案例:defer

函数参数即时求值funcg(iint){fmt.Println("gi:",i)}funcf(){i:=100deferg(i)//1fmt.Println("begini:",i)i=200fmt.Println("endi:",i)return}begini:100endi:200gi:100输出结果:defer应用案例:反序调用funcf(){deferfmt.Println("defer01")fmt.Println("begin")deferfmt.Println("defer02")fmt.Println("----")deferfmt.Println("defer03")fmt.Println("end")return}begin

----

end

defer03

defer02

defer01输出结果:03async应用6.3非核心代码异步加载async应用async属性规定一旦脚本可用,则会异步执行。async定义:async应用案例:async实现:varfs=require('fs');varreadFile=function(fileName){returnnewPromise(function(resolve,reject){fs.readFile(fileName,function(error,data){if(error)reject(error);resolve(data);});});};vargen=function*(){varf1=yieldreadFile('/etc/fstab');varf2=yieldreadFile('/etc/shells');console.log(f1.toString());console.log(f2.toString());};varasyncReadFile=asyncfunction(){varf1=awaitread

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论