html+javascript 执行顺序问题

发布网友

我来回答

4个回答

热心网友

    Javascript是执行顺序是至上而下的,除非特别说明, Javascript代码不会等到页面加载完毕后才执行。

    例如:

    一个网页里含有以下HTML代码

    

<div id="ele">welcome to www.jb51.net</div>

如果在这行HTML代码前,加入如下Javascript代码:


<script type="text/javascript">
  document.getElementById('ele').innerHTML= 'welcome to my blog';
</script>

运行该页面,会得到这样的错误信息:“document.getElementById(‘ele') is null。”原因是,当上面的javascript运行时,页面上还没有ID为‘ele'的DOM元素。


解决办法有两种:
1. 把javascript代码放在HTML代码之后:


 <div id="ele">welcome to www.jb51.net</div>
<script type="text/javascript">
  document.getElementById('ele').innerHTML='welcome to my blog';
</script>

2. 等到在网页加载完毕后,运行该javascript代码。可以使用传统的解决办法(load):首先加HTML的body加入“<body load="load()”>,”然后在load()函数里调用上述javascript代码。这里要着重介绍的是用jQuery来实现:


<script>
$(document).ready(function(){
   document.getElementById('ele').innerHTML= 'welcome to my blog';
});
</script>
//当然,既然用到了jQuery,更简单的写法是:
<script>
$(document).ready(function(){
   $('#ele').html('welcome to my blog'); //这里也可用.text()方法
});
</script>

可以把上述jQuery代码放在页面的任何位置,它总是等到页面加载完毕后才执行。

热心网友

代码一般是从上而下加载的,但是执行的顺序可不一定是这样!
setInterval("funcTime()",1000);
这个函数就是说,当这行代码读完一秒钟之后再执行funcTime()为个函数;而funcTime()这个函数,在在之前就已经加载进来了,但是没有执行,也就是说,光加载进来不被调用的话,这个函数是不执行的。所以setInterval("funcTime()",1000);和funcTime()编写的顺序,一般是可以互换位置的。
而<body onload="funcTime();">的意思就是说当页面全部加载完成后,再执行funcTime()这个函数。也就是说,在没加载完成这个网页时,虽然加载到了<body onload="funcTime();">
这行代码,也不会执行funcTime()为个函数。假设在加载到<body onload="funcTime();">
这行代码后一个小时,整个页面才加载完的话,funcTime()只能在这一个小时之后,才会执行。
不知道这么说,说明没有!?

热心网友

alert函数参数

  str--要显示在消息对话框中的文本

  alert函数说明

  alert消息对话框通常用于一些对用户的提示信息,例如在表单中输入了错误的数据时。

  1.提示:消息对话框是由系统提供的,因此样式字体在不同浏览器中可能不同。

  2.提示:消息对话框是排它的,也就是在用户点击对话框的按钮前,不能进行任何其它操作。

  3.提示:消息对话框通常可以用于调试程序。



再讲一下alert的优先级,此()运算符的优先级是最高的,因此,在其它操作进行前必须*性()操作符。而“()”又是和函数调用相关的,也就是”alert()”了!



​下图给出js的操作符优先级表。

热心网友

顺序当然是自上而下的,但是onload里的是页面加载最后执行。
你这个页面页面为调用完成之前已经打开计时了,页面加载后,调入funcTime时钟开始走动

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com