代码:

<script>
//1----语句式的匿名函数创建以及调用
(function(name,age){
alert("name:"+name+",age:"+age);
document.write("name:"+name+",age:"+age+"<br/>");
alert("111");
alert("222");
})("lisi","44");
//------------------------------------------- //3---第三种函数的创建
var f2=new Function("name","age",'alert("name:"+name+",age:"+age);');
f2("zhaijiahao","22");
</script>

浏览器测试现象:访问test.html文件之后的现象

点击完确定之后紧接着

点击完确定之后紧接着

点击完确定之后紧接着,特别注意页面中的并没有出现name:lisi,age:44这句话

最后所有的调用的函数中的alert()运行完之后,就会显示name:lisi,age:44这句话

具体的原因分析:

关于document.write()和alert()执行顺序的问题

为什么先写document.write()输出,却要等到后边的alert执行完成后才显示document.write()的内容?

解答:

有人认为:alert弹窗会阻塞代码 要点击确认才执行下面的代码,

问题复述:问题是把alert()写到document.write()之后也是先出弹窗,这是什么原因呢?

更合理的解答:alert会阻塞线程。实际上.write已经执行,只是浏览器还没渲染,这种情况下,有办法先让write执行结果显示。方式:

想实现“先document.write,再alert”。这里提供下思路:1>主线程跑document.write() ,然后利用setTimeOut() 定时0。5秒后执行alert();这个方法是线程不可控的 2>利用promise强制执行document.write()完之后,再在then 方法内执行 alert

对于javaScript中的alert和document.write()的执行顺序的记录的更多相关文章

  1. Javascript中页面加载完成后优先执行顺序

    Javascript中页面加载完成后优先执行顺序 document优先于windowwindow优先于element //document加载完成执行方法体 document.addEventList ...

  2. javascript 中的location.href 并不是立即执行的,是在所在function 执行完之后执行的。

    javascript 中的location.href 并不是立即执行的,是在所在function 执行完之后执行的. 1 function getUrl(tp) { if (tp == 'd') { ...

  3. 【Java基础】继承中的代码块和构造方法的执行顺序探索

    本文讲述有关一个类的静态代码块,构造代码块,构造方法的执行流程问题.首先来看一个例子 /** * Created by lili on 15/10/19. */ class Person{ stati ...

  4. python中 try、except、finally 的执行顺序

        def test1(): try: print('to do stuff') raise Exception('hehe') print('to return in try') return ...

  5. python中 try、except、finally 的执行顺序(转)

    def test1(): try: print('to do stuff') raise Exception('hehe') print('to return in try') return 'try ...

  6. JavaScript中的alert、confirm、prompt

    alert: var a=alert('Alert');//界面只有一個確定alert(a);   //返回值為undefined confirm: var c= confirm('Confirm') ...

  7. JavaScript中的alert()与console.log()的区别

    1.alert() [1.1]有阻塞作用,不点击确定,后续代码无法继续执行 [1.2]alert()只能输出string,如果alert输出的是对象会自动调用toString()方法 e.g. ale ...

  8. jqMobile中pageinit,pagecreate,pageshow等函数的执行顺序

    常见的共有5个page函数,刚开始有点迷糊的是到底谁先谁后执行. 实验告诉我们结果: var temp = ''; $('body').live('pagechange', function () { ...

  9. oracle中简单查询语句的格式及执行顺序分析

    一条简单的查询sql格式如下: SELECT ... FROM .... [WHERE ...] --过滤单行 [GROUP BY ...   [HAVING ...]]--GROUP BY对前面wh ...

随机推荐

  1. session的到底是做什么的?

    原文地址:https://blog.csdn.net/h19910518/article/details/79348051 前言: 今天就来彻底的学一些session是个啥东西,我罗列了几个需要知道的 ...

  2. codeforces 1285D. Dr. Evil Underscores(字典树)

    链接:https://codeforces.com/problemset/problem/1285/D 题意:给n个数a1,a2,a3.....an,找到一个数X,使得X 异或所有的ai ,得到的ma ...

  3. 概念理解_L2范数(欧几里得范数)

    L1范数 L1范数是指向量中各个元素绝对值之和 L2范数 L2范数.欧几里得范数一些概念. 首先,明确一点,常用到的几个概念,含义相同. 欧几里得范数(Euclidean norm) ==欧式长度 = ...

  4. html表单提交给PHP然后浏览器显示出了PHP的源代码

    今天学习到PHP处理网页表单提交的数据时,碰到一个巨头疼的问题,先贴上案例代码: html表单部分: <html> <head> <meta charset=" ...

  5. mysql分组,然后组内排序取最新的一条

    参照: https://blog.csdn.net/qq_16504067/article/details/78589232 https://www.cnblogs.com/w1441639547/p ...

  6. Go_select

    select 是 Go 中的一个控制结构.select 语句类似于 switch 语句,但是select会随机执行一个可运行的case.如果没有case可运行,它将阻塞,直到有case可运行. sel ...

  7. threading 官方 线程对象和锁对象以及条件对象condition

    官方地址:https://docs.python.org/2/library/threading.html#thread-objects 以下只截取condition部分,其他Lock()以及thre ...

  8. codeforces 1245D(最小生成树)

    题面链接:https://codeforces.com/problemset/problem/1245/D 题意大概是给你一些城市的坐标,可以在城市中建立发电站,也可以让某个城市和已经建好发电站的城市 ...

  9. Codeforces Round #567 (Div. 2) A.Chunga-Changa

    原文链接:传送 #include"algorithm" #include"iostream" #include"cmath" using n ...

  10. Java学习笔记(十)面向对象---接口

    理解 初期理解 可以认为接口是一个特殊的抽象类.当接口中的方法都是抽象的,那么该类可以通过接口的形式来表示. class用于定义类 interface用于定义接口 格式特点 接口中常见定义:常量,抽象 ...