你现在是先定义了函数a,然后定义了函数b,然后再去执行函数a
即使你把代码改渗行成这样依旧能够正常运行
a()function a() {
b()
}
function b() {
console.log(111)
}
因为JS运档喊型行环境会把定义的代码(变量行猜/函数)提升到作用域的最前面
下面是测试的代码:复制代码
代码如下:
<!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.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)