对于javaScript中的alert和document.write()的执行顺序的记录
代码:
<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()的执行顺序的记录的更多相关文章
- Javascript中页面加载完成后优先执行顺序
		
Javascript中页面加载完成后优先执行顺序 document优先于windowwindow优先于element //document加载完成执行方法体 document.addEventList ...
 - javascript 中的location.href 并不是立即执行的,是在所在function 执行完之后执行的。
		
javascript 中的location.href 并不是立即执行的,是在所在function 执行完之后执行的. 1 function getUrl(tp) { if (tp == 'd') { ...
 - 【Java基础】继承中的代码块和构造方法的执行顺序探索
		
本文讲述有关一个类的静态代码块,构造代码块,构造方法的执行流程问题.首先来看一个例子 /** * Created by lili on 15/10/19. */ class Person{ stati ...
 - python中 try、except、finally 的执行顺序
		
def test1(): try: print('to do stuff') raise Exception('hehe') print('to return in try') return ...
 - python中 try、except、finally 的执行顺序(转)
		
def test1(): try: print('to do stuff') raise Exception('hehe') print('to return in try') return 'try ...
 - JavaScript中的alert、confirm、prompt
		
alert: var a=alert('Alert');//界面只有一個確定alert(a); //返回值為undefined confirm: var c= confirm('Confirm') ...
 - JavaScript中的alert()与console.log()的区别
		
1.alert() [1.1]有阻塞作用,不点击确定,后续代码无法继续执行 [1.2]alert()只能输出string,如果alert输出的是对象会自动调用toString()方法 e.g. ale ...
 - jqMobile中pageinit,pagecreate,pageshow等函数的执行顺序
		
常见的共有5个page函数,刚开始有点迷糊的是到底谁先谁后执行. 实验告诉我们结果: var temp = ''; $('body').live('pagechange', function () { ...
 - oracle中简单查询语句的格式及执行顺序分析
		
一条简单的查询sql格式如下: SELECT ... FROM .... [WHERE ...] --过滤单行 [GROUP BY ... [HAVING ...]]--GROUP BY对前面wh ...
 
随机推荐
- ISCC2018_leftleftrightright-Writeup
			
leftleftrightright(150) 这个题学到了不少东西,值得认真写一下 下载好文件后发现是upx的壳,upx -d直接脱掉后运行,发现是经典的check输入的题目(作为一个linuxer ...
 - C# 元组和值元组
			
C# 7.0已经出来一段时间了,大家都知道新特性里面有个对元组的优化:ValueTuple.这里利用详尽的例子详解Tuple VS ValueTuple(元组类VS值元组),10分钟让你更了解Valu ...
 - SpringCloud大白话之服务注册中心
			
SpringCloud-Eureka白话说明 eureka.client.register-with-eureka 属性表示是否将自己注册到Eureka Server, 默认为true. 由于当前应用 ...
 - hadoop cdh  的那些坑 第二弹
			
卧槽 ....一直连不上datanode 不知道为什么数据节点一直连接不上.. 2019-07-19 16:10:00,156 INFO org.apache.hadoop.ipc.Client: R ...
 - Jupyter Notebook 更改本地目录
			
首先如果使用anaconda直接安装jupyter notebook的话,直接在windows的cmd中输入jupyter notebook是没有用的,参见下图: 原因可能是anaconda代理了所有 ...
 - LED Decorative Light Supplier - Decorative Use Of LED Light Strips
			
Led strip refers to the led assembly in the ribbon of the FPC (flexible circuit board) or PCB hard b ...
 - (c#)独一无二的出现次数
			
题目 解
 - 《绘图前设置:像素格式——PIXELFORMATDESCRIPT、设备上下文、渲染上下文》
			
转载地址:https://www.cnblogs.com/wiener-zyj/p/4159745.html 像素格式——PIXELFORMATDESCRIPT.设备上下文.渲染上下文 在OpenG ...
 - mysql修改密码的4种方式
			
转:https://www.cnblogs.com/jdxn/p/6847089.html 方法1: 用SET PASSWORD命令 首先登录MySQL. 格式:mysql> set passw ...
 - sublime3使用技巧
			
1.鼠标悬浮,显示文件引用 Preference ——> Settings ——> "index_files": true (保存,重新打开即可) 2 ...