为什么js代码在HTML文件里可以运行,写在js文件里被html文件调用之后却是无法运行了?

JavaScript010

为什么js代码在HTML文件里可以运行,写在js文件里被html文件调用之后却是无法运行了?,第1张

为什么js代码在HTML文件里可以运行,写在js文件里被html文件调用之后却是无法运行:

1.立即执行的JS代码会受位置的影响。

2.假如你把JS外部引用放入HEAD里,而你在该JS文件中试图直接访问DOM中的一个BODY的子元素,就可能产生错误,因为该JS在执行时,浏览器还没有准备好BODY的DOM。

3.如果是这样,你可以把JS引用移到所有它要访问元素标签之后,这样就不会出错了。

JS:

JS即Javascript,Javascript是一种由Netscape的LiveScript发展而来的脚本语言,主要目的是为了解决服务器终端语言,比如Perl,遗留的速度问题。当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。于是Netscape的浏览器Navigator加入了Javascript,提供了数据验证的基本功能。

程序是没有错。理论上是执行的,但是执行的方式和位置或许导致了你出现的这种情况。

最快的测试方式是:

打开google浏览器->F12打开调试工具->找到console

将代码黏贴值箭头所指的位置 然后按回车。

--------------------------------------------------------

再来分析你的情况:

如果你的代码是直接放在<script></script>标签之间,是在页面加载到这个标签的时候会执行的。

如果你是放在某个function 之内,在浏览器加载的时候是不会理解执行的。而是在调用这个function的时候再执行。

应该是window对象没有onload事件,你加错地方了吧,应该是加载document对象上的,

window.document.onload = function(){}

不然你的js代码都不会执行,这样js代码才会在页面加载完成后执行。