1 利用<script>…</script>加入到HTML中:
<script language="javascript>…</script>(IE Browser支持的脚本有Javascript,Jscript,Vbscript等;)
2 利用SRC属性级联脚本文件:
<script language="javascript" src="cnc/adnews.js">…</script>
3 直接加入到HTML标记:
<body onload="javascript:window.alert("欢迎光临我们的网站")>
<a href="javascript:void(null)" onclick="document.execCommand('SaveAs')">js操作</a>
可以放在任何地方(head或body标签内),但以下情况例外:
当我们在代码中定义了函数时,就一定要注意将函数的定义放在对该函数的调用之前;
当浏览器由上到下、由左至右执行HTML代码时,遇到对函数的调用时,如果在调用函数之前,该函数已被定义,浏览器将正确执行该函数;如果函数的定义在函数调用之后,浏览器无法执行该函数;
书写的方法不同,其执行的流程也各不相同。
1 <script>,无法操作<script></script>之后的元素,因为之后的元素还未构造,所以JS代码也无法取得之后的DOM元素。
2 读取外部的JS文件,还可以指定defer,async属性去推迟或异步执行。
3 onload:在页面读取完后再对其执行,可以操作全部DOM元素。
<body onload="alert('hello')">
window.onload=function(){alert('hello');};
4 DOM ContentLoaded:onload方法需要等待时间,而本方法可以在完成HTML解析后发生的事件,可以减少等待时间。
5 动态载入JS文件。
6 使用伪代URL:href="javascript:alert("hello")"
1 在文档加载时;
2 在文档加载后;
3 根据用户的动作作出响应;
4 当其它script语句调用它时;
执行的次数:
1 一次,即顺序执行一次,
2 调用的次数;
3 定时器按时间间隔执行;
setInterval("functionOrExpr",msecDelay [,funcarg1,…,funcargn])
重复调用某个函数或执行某个表达式,并且对函数或表达式的调用间隔只有固定时间的延迟。
用于按照某个指定的时间间隔去周期触发某个事件,典型的应用包括动态状态栏、动态显示当前时间等,
(TimerID是上面方法返回该时间间隔的引用变量;)
setTimeout()
当你需要在将来某个时间执行一次函数或表达式时。实际应用于警告框的显示时间和状态栏的跑马灯效果、打字效果等。
JS执行时间
element对象上的一个重要的属性集合就是事件处理程序相关的的属性,可以在脚本中为之绑定一个函数,这个函数会在某一个事件发生时以异步的方式调用,事件处理程序可以以JS代码修改窗口文档和组成文档元素的行为,事件处理函数的属性名是以单词“on”开始,如D.onclick=function(){};
window.onload=function(){…};在语句中无任何函数调用)(只能用一次,包括<body onload="";>否则后面的onload会覆盖掉前面的;
(scroll也只能在一处使用)
脚本执行的两个阶段:
1 按它们在文档里出现的顺序顺序招待
2 事件驱动异步执行;
script语句什么时候被执行?(决定因素是script语句在文档中的位置);
1 在文档加载时;
2 在文档加载后;
3 根据用户的动作作出响应;
4 当其它script语句调用它时;
执行的次数:
1 一次,即顺序执行一次,
2 调用的次数;
3 定时器按时间间隔执行;
setInterval("functionOrExpr",msecDelay [,funcarg1,…,funcargn])
重复调用某个函数或执行某个表达式,并且对函数或表达式的调用间隔只有固定时间的延迟。
用于按照某个指定的时间间隔去周期触发某个事件,典型的应用包括动态状态栏、动态显示当前时间等,
(TimerID是上面方法返回该时间间隔的引用变量;)
setTimeout()
当你需要在将来某个时间执行一次函数或表达式时。实际应用于警告框的显示时间和状态栏的跑马灯效果、打字效果等。
事件处理程序
<body [other attributes] onLoad="statement or function">
函数是属于延迟执行的一个指令集;(由两部分组成:函数定义部分和函数调用部分);
<head></head>之间的javascript代码一般用于提前载入,以响应用户的页面动作,一般不影响HTML文档的浏览器显示格局;
<body></body>之间的javascript代码一般用于在页面载入时运行JS代碼生成頁面內容;