HTML 中调⽤JavaScript 的⼏种情况和规范写法
JavaScript 运⾏在html 中,引⽤有⼏种⽅式?
我知道的⽅法有3种:
第⼀种:外部引⽤远程JavaScript ⽂件,如<script type="text/javascript" src="../js/jquery-1.8.3.js"></script>(相对路劲)或者是<script src="commonblogs/script/jquery.js" type="text/javascript"></script>(绝对路劲);第⼆种:直接⽤写在页⾯上,如:
第三种:在JavaScript 代码中引⽤外部js :
2.JavaScript 通常写在页⾯的什么位置?
javascript 的书写位置⼤致有3个地⽅:
第⼀个地⽅:是head 头部,⽐如:
第⼆个地⽅:body 的任何位置,如:1
2
3
4
5<script type="text/javascript">   document.write('这⾥是⼀⾏JavaScript 代码1');
</script>1
2slaw
3
4
5
6
7
8<script>  load = function (){    var  script = ateElement("script");    script.setA
ttribute("type","text/javascript");    script.src = "";    ElementsByTagName("head")[0].appendChild(script);
  }
</script>1
2
3
4
5
6
7
8
9
jq代表啥10
11
12
13<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>javascript 引⽤⽅式</title><script type="text/javascript" src=""></script><script>    load = function (){        var  script = ateElement("script");        script.setAttribute("type","text/javascript");        script.src = "";        ElementsByTagName("head")[0].appendChild(script);      }
</script>
ssm框架是前后端分离吗
</head>
第三个地⽅:以事件的形式写在标签上,如:
3.改变js 加载顺序的⽅法有什么?
JavaScript 是有加载顺序的,不同的加载顺序可以会导致不同的结果,举个栗⼦:
第⼀段js 执⾏会出错,因为html 代码运⾏是⾄上⽽下加载的,第⼀段JavaScript 代码先执⾏,才执⾏下⾯的html 代码,所以根本就不到该DOM 节点,就会报错,如果html 先执⾏,在运⾏JavaScript 代码,就像第⼆段,就可以运⾏成功!当然,我不是说⼀定要先执⾏html 代码,在执⾏JavaScript 代码,这个要依情况⽽定;
再举⼀个栗⼦:
上⾯的fancybox 插件如果像上⾯这样的加载顺序去加载的话,⼀定是不能执⾏的,因为代码执⾏所依赖的js 库是后⾯执⾏的,这⾥要讲的内容主要是想说明,如果是在使⽤⼀个插件,依赖某个js ⽂件,⼀定要在前⾯先运⾏,不管是放在head 头部,还是body 中;
上⾯的例⼦说明⼀点,不同的js 执⾏顺序,执⾏的内容是不⼀样的,所以改变js ⽂件的位置,就可以改变js 的加载顺序(注:这⾥指的是单独的JavaScript ⽂件或⽚段,不包含函数的顺序)。1
2
3
4
5
6
7
8
9
10
11
12<body>    <script type="text/javascript" src=""></script>    <p>这⾥是⼀段⽂本!</p>      <script>          load = function (){        var  script = ateElement("script");        script.setAttribute("type","text/javascript");        script.src = "";        ElementsByTagName("head")[0].appendChild(script);
  }
  </script>
</body>
1
<p onClick="javascript:alert('叫你点,你就点啊!')">点我点我!</p>编程猫谷雨登录端
1
2
3
4
5
6
7
8
9
10
11<script>      var  txt = ElementById("txt");  alert(txt.innerHTML);  </script>  <div id="txt">我是⼀段⽂本,你不能到我!</div>    <div id="val">我也是⼀段⽂本,你能到我!</div>  <script>      var  txt = ElementById("val");
alert(txt.innerHTML);  </script>
1
伦勃朗整体介绍2
3
4<script>$(".calculator").fancybox();</script>
<script type="text/javascript" src="../js/jquery.fancybox.js"></script>
2015.11.05补充:感谢@ 同学的提醒,这⾥的js的加载顺序指的是js⽂件在页⾯上的加载顺序,不是js
程序的加载顺序,先理解这⼀点,如果说⾏内js事件代码也算是⼀个独⽴的js⽂件的话(也可以这么理解,毕竟可以独⽴运⾏),那这⾥的加载顺序也是⾃上⽽下的,和其他的⽂件的加载顺序是⼀样的,但是有⼀个⾮常特殊的事件例外,那就是“onload”事件,onload 事件会在页⾯或图像加载完成后⽴即发⽣(w3school上的解释),好难理解,通俗的讲就是,这个事件是在页⾯上的所以内容加载完成了,我才来执⾏这个函数,不管我这个时间定义在哪⾥都⼀样,没有顺序⽽⾔(本来嘛,我反正都是最后⼀个执⾏的,位置对于我来说已经没有意义了);除了onload,其他的事件都是按照顺序执⾏的。
可能有⼈会问了,唉,不对啊,如果我是onclick事件,我点击之后,可能下⼀⾏运⾏的函数在我事件的前⾯呢,这不是改变了js执⾏的顺序吗?这怎么解释呢?
如果你还是有这个疑惑,那请注意我在上⼀句描述上说的是“改变了js的执⾏顺序”,是执⾏顺序,不是加载顺序,执⾏顺序是程序内,加载顺序是⽂件之间的,⽐如说点击事件,你点击了,那js就已经经历了加载,然后执⾏了,如果你还是不理解,我就给你举⼀个现实⽣活中的例⼦:
我⼿上有4个盒⼦,盒⼦⾥⾯有不同的东西,每个盒⼦都有编号(1,2,3,4),现在我把这4个盒⼦依次在桌⼦上,编号顺序随机,然后从左到右依次看⼀遍,盒⼦是开的,我就把东西拿出来(这⾥表⽰js⾃动执⾏);如果是关着的,就看下⼀个(这⾥表⽰是需要事件来出发的,如打开盒⼦这个动作),
直到最后⼀个盒⼦看完,整个就完了,那盒⼦的顺序就是查看盒⼦的顺序,跟编号没关系(这⾥说的是⽂件的名字),onclick这样的事件就是盒⼦我已经过了⼀遍,现在有没有打开的盒⼦,我现在打开了,就是执⾏了这个事件,然⽽前⾯我们说了,盒⼦已经过了⼀遍,所以这个动作就不涉及整个过场顺序问题了,那onload是怎么回事呢,就是我有⼀个盒⼦放在⼀边,等其他盒⼦都看了,再看这个盒⼦(就是最后执⾏这个事件,onload是⾃动触发执⾏的),理解了吗?⾃⼰摆⼀摆。要是还不理解,那就去⾯壁思考吧!
打开Dreamweaver(我⽐较喜欢⽤这个编辑器,习惯了他给的提⽰,别说我low哦),在<script>上打⼀个type,会有很多type 属性,我们把他写下来,看看都有哪些:
application/ecmascript  application/javascript  application/x-ecmascript  application/x-javascript  text/ecmascript
text/javascript  text/jscript  text/livescript  text/tcl  text/x-ecmascript  text/x-javascript
oh,mygod!这么多!吓死宝宝了!
在<link>上⾯打⼀下:
text/css  text/javascript
还好只有2个!
type属性在js上表⽰脚本的类型,即MIME类型,在link上表⽰叠层样式表的MIME类型,常⽤的就是2种(其他的不常⽤,也不知道是什么意思,⽤在什么情况,哪位⼤神帮忙科普⼀下):
text/css (css⽂本,告诉浏览器是加载css样式)
text/javascript  (JavaScript⽂本,告诉浏览器加载js代码)
貌似解释的有点牵强,呵呵!
5.除了type属性还有其他的什么属性?
再次打开Dreamweaver,给的提⽰有这⼏个:async,defer,language,runat,src
async:定义脚本是否异步执⾏,值为:async;
defer:指⽰脚本不会⽣成任何⽂档内容,浏览器可继续解析并绘制页⾯。意思就是等⽂档加载完毕了再执⾏此js,要是想深⼊了解这个属性,可以参考,如果你英⽂⽐较好,可以看。
language:规定脚本的语⾔,现在使⽤type来替代了;
runat:其值为server,表⽰是在服务器上运⾏此代码,客户端不运⾏,不常⽤;
src:指外部脚本⽂件的引⽤路径
6.js中常⽤的输出⽅式?
js的输出⽅式⼤概有下⾯⼏种:
1 2 3 4 5 6 7 8 9<div id="demo"></div>
<script>
//第⼀种
document.write("<p>你在⼲嘛,你妈妈叫你回家吃饭!</p>");
html个人网页完整代码顺序//第⼆种
alert("谁家能叫我吃饭啊!");
</script>

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。