页面中js执行顺序

JavaScript016

页面中js执行顺序,第1张

下面是测试的代码:

复制代码

代码如下:

<!DOCTYPE

HTML

PUBLIC

"-//W3C//DTD

HTML

4.0

Transitional//EN">

<HTML>

<head

runat="server">

<title>测试js的执行顺序</title>

<script

language="javascript"

type="text/javascript"><!--

var

a

=

"这是一段在Header里面的JS代码"

alert(a)

//

--></script>

</head>

<body

onload="javscript:alert('这是在body的Onload事件中的代码!')">

<form

id="form1"

runat="server">

<div>

<p>测试一下js的执行顺序

</p>

</div>

</form>

<script

language="javascript"

type="text/javascript"><!--

var

a

=

"这是一段页面最后的JS代码"

alert(a)

//

--></script>

</body>

</html>

运行后的执行顺序如下:

执行的顺序为:head中的js,页面中的js(将此段Js放置在body标签之外亦为此顺序),body标签onload事件中的js.

JS是单线程执行,有两种可能改变执行顺序。

1、在页面的某个地方加上<script>来修改执行顺序,比如一段JS代码是一起执行,要修改一部分代码的执行顺序,那吧那段代码单独抽取出来,放到你想要的位置。

2、使用定时器,setTimetou等等方法。

你现在是先定义了函数a,然后定义了函数b,然后再去执行函数a

即使你把代码改成这样依旧能够正常运行

a()

function a() {

    b()

}

function b() {

    console.log(111)

}

因为JS运行环境会把定义的代码(变量/函数)提升到作用域的最前面