你是否理解JavaScript的执行顺序?

2016-02-19 15:19 4 1 收藏

今天图老师小编要向大家分享个你是否理解JavaScript的执行顺序?教程,过程简单易学,相信聪明的你一定能轻松get!

【 tulaoshi.com - Web开发 】

通常状况下,JavaScript作为一种解释性的脚本,都是从上而下顺序执行的,但是JavaScript还允许在其语句中嵌套,也就是这个样子:

document.write("scriptalert(t);/scr"+"ipt");

注意:/script不能写作/script,要用字符串连接的形式来表述,否则会有语法错误,估计是因为JavaScript遇到/script就以为脚本结束了。

在这种情况下,正常的脚本和嵌入的脚本的执行顺序就需要研究一下了。

b.js:

alert("5"); 

a.js:

alert("4");
document.write("script src=b.js/scr"+"ipt");
alert("6");

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

test.html:

script src=a.js/script
script
alert("1");
document.write("script src=b.js/scr"+"ipt");
document.write("scriptalert("3")/scr"+"ipt");
alert("2");
/script 

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

执行test.html,可以看到打印的顺序是:4,6,5,1,3,2,5

还可以做一些相关测试,得出的结论是:

1.同级的不同的代码块,代码块间的执行顺序为从上到下;

2.在代码中嵌入代码的情况下,先执行上层代码块,再执行子代码块;代码中嵌入代码是指一个文件引入另一个文件,而不是指所有的通过document.write形式打出的代码。

来源:http://www.tulaoshi.com/n/20160219/1609404.html

延伸阅读
标签: Web开发
很久都没有写关于代码方面的文章了。主要原因还是因为最近的工作都集中在需求分析方面,没有了现实中的感触,就没有了写作的动机。讨论一个关于JScript执行顺序的问题。示例代码如下: a.htm A onmouseup="func('onmouseup')" href="b.htm"Click Me!/A A onclick="func2('onclick')" href="d.htm"Click Me!/A SPAN id=msg/SPAN SCRIPT functi...
标签: Web开发
先来说eval的用法,内容比较简单,熟悉的可以跳过。 eval函数接收一个参数s,如果s不是字符串,则直接返回s。否则执行s语句。如果s语句执行结果是一个值,则返回此值,否则返回undefined。 需要特别注意的是对象声明语法“{}”并不能返回一个值,需要用括号括起来才会返回值,简单示例如下: var code1='"a" + 2'; ...
标签: Web开发
早上收到一封邮件,问的正好是我一直如哽在喉的事情: 对于web开发中的预留退路问题,我一直犹豫不决。在安全方面,自然是不能完全相信JavaScript,这点是确定的。但在用户体验方面,是否真的需要处处预留退路,照顾那些不支持JS或者对JS支持不好的用户吗?而UED工程师们又一直在说,不预留退路会惹恼数量不少的用户,但却从没有人提起具体...
标签: Web开发
function lLoopRun(sFuncLoop,sFuncEnd,nDelay) { //writen by http://fengyan.iecn.cn //sFuncLoop  字符串型,需要重复执行的Javascript函数或语句(多个函数或语句请用;分隔)   //sFuncEnd  字符串型,用于中止重复执行动作(sFuncLoop)的Javascript函数或语句  //nDelay &n...
标签: Web开发
最近用到JavaScript 事件处理机制,找了些资料。 以前写 JavaScript 程序时,事件都是采用  代码如下: object.event = handler; 的方式初始化。这种方式对于 Internet Explorer、Mozilla/Firefox 和 Opera 来说很通用。但是有一个问题就是,这种方式只能一个事件对应一个事件处理...

经验教程

159

收藏

10
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部