js的延迟执行问题分析

看这段代码:

<body>
  <script src="deffer.js"></script>
  content
 </body>

deffer.js的内容为:

alert(1)

这样在alert窗口没有被关闭之前,页面都会是一片空白。因为alert窗口阻止了页面的继续渲染。

为了避免此类问题,html规范里定义了deffer和async属性,这两个属性的具体定义这里不讨论,反正他们都是用来告诉浏览器,一定要在页面渲染完成以后再执行本脚本的内容,这样脚本执行的时候页面已经渲染完毕了。

<body>
  <script deffer async src="deffer.js"></script>
  content
 </body>

注意,对于多个加了deffer或者async的脚本,他们的执行顺序和他们在页面上出现的顺序无关。即使html规范定义了deffer脚本应该按照顺序来执行,但是浏览器事实上并没有全部遵守这个约定。

(0)

相关推荐

  • 基于JavaScript实现一定时间后去执行一个函数

    在实际需要中可能需要规定在指定的时间之后再去执行一个函数以达成期望的目的,这也就是一个定时器效果,恰好在js中就已经给定了这样的一个函数setTimeout(),下面先介绍一下次函数的 用法: 语法:  复制代码 代码如下: setTimeout(code,interval) 此函数能够规定在指定的在指定的事件之后去执行一段指定代码,此代码只执行一次. setTimeout()函数具有两个参数,第一个参数规定要执行的执行代码,第二个参数规定在多长时间后去执行代码,单位是毫秒. 代码实例: <!D

  • JS页面延迟执行一些方法(整理)

    一般在JS页面延迟执行一些方法.可以使用以下的方法 jQuery.delay()方法简介 http://shawphy.com/2010/11/jquery-delay.html jQuery中queue和dequeue的用法 http://www.jb51.net/article/25481.htm Window.setTimeout http://www.jb51.net/article/20741.htm以下是我用到的一些例子. 复制代码 代码如下: //延迟查询,传一个查询btn的ID,

  • 浅谈js中的延迟执行和定时执行

    在js中,延迟执行函数有两种,setTimeout和setInterval,用法如下: function testFunction(){Console.log('hovertree.com');} setTimeout("testFunction()","6000"); //6000毫秒后执行testFunction()函数,只执行一次. setInterval("testFunction()","6000");//每隔600

  • js代码延迟一定时间后执行一个函数的实例

    实例如下: setTimeout(funcName,500); function funcName() { xxxxxx; } 0.5秒后执行funcName(),只执行一次 setInterval(funcName,5000);   每隔5秒执行一次funcName() 以上这篇js代码延迟一定时间后执行一个函数的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • js查看一个函数的执行时间实例代码

    具体不多说了,请看下文代码实例讲解 如下有一个求和的函数,我们要知道这个函数执行需要的时间 function add(){ var sum = 0 ; for(var i = 0;i<1000000;i++){ sum += i; } return sum; } 定义一个测试函数,将待测函数作为参数传入 function test(func){ var start = new Date().getTime();//起始时间 func();//执行待测函数 var end = new Date()

  • JS 事件延迟执行说明分析

    思路:当用户划过 设置变量i=0; 每过100毫秒 i++ 当i==10的时候就刚好 是1秒.就触发事件. 否则用清楚setInterval i不在++: 哈哈.不知道我描述清楚没. 代码: 复制代码 代码如下: var delay=function(t,fn){ var i=0, j=10, t=(t*1000)/j, //把延迟时间平均分成10等份 _this=this, //解决this绑定问题,所以调用delay函数的时候,请处理好this指向本身对象 d=setInterval(fun

  • js的延迟执行问题分析

    看这段代码: <body> <script src="deffer.js"></script> content </body> deffer.js的内容为: alert(1) 这样在alert窗口没有被关闭之前,页面都会是一片空白.因为alert窗口阻止了页面的继续渲染. 为了避免此类问题,html规范里定义了deffer和async属性,这两个属性的具体定义这里不讨论,反正他们都是用来告诉浏览器,一定要在页面渲染完成以后再执行本脚本的内

  • php和js编程中的延迟执行效果的代码

    php sleep(10); usleep(10); js里的 setInterval("方法", 100); PHP sleep() 函数 <?php echo date('h:i:s') . "<br />"; //暂停 10 秒 sleep(10); //重新开始 echo date('h:i:s'); ?>一个命令行(批处理)延迟执行命令的语法http://www.jb51.net/article/11381.htm

  • 对比分析iOS延迟执行的4种方式

    最近学习了延迟执行的几种方法,分享一下: 1.performSelector(NSObject)方法  2.NSTimer方法  3.GCD方法  4.sleep(NSThread)方法 一.performSelector方法: 复制代码 代码如下: [self performSelector:@selector(delayMethod) withObject:nil afterDelay:1.0f]; 1.特点: 此方式要求必须在主线程中执行,否则无效. 是一种非阻塞的执行方式, 暂时未找到取

  • jQuery延迟执行的实现方法

    本文实例讲述了jQuery延迟执行的实现方法.分享给大家供大家参考,具体如下: 做一个控件时碰到的一些无法同步处理的事件,可以用这样的延迟方法. <html> <script src="js/jquery.js"></script> <script> $(function(){ $('#test').bind("click",function(){ setTimeout(function(){alert($('#tes

  • IOS开发中延迟执行和取消

    在 Objective-C 中延迟执行还是很常见的需求,通常有如下几种方式可供选择: performSelector: 想要延迟调用某个方法: [self performSelector:@selector(delay) withObject:nil afterDelay:3.0]; 取消延迟的方法: [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(delay) object:nil]; 这里需要

  • 刷新页面后让控制台的js代码继续执行

    在各种限时,秒杀活动中,有个自动循环的点击的工具是很重要的. 为了方便起见,我们把Js代码放在浏览器的控制台执行,但是刷新页面后,js代码就清空了,也就无法执行. 可以用js代码实现一个不受页面刷新影响不断执行的代码,如下: 1. 必要的知识 prompt() 弹出对话框,获取用户输入的文本 setTimeout(,) 延迟执行函数 write() 可向指定对象写入html代码或者js代码 with() 设定代码的作用域 2.大致框架 var timeout = prompt("设置刷新时间&q

随机推荐