defer
等于在页面完全在入后再执行,相当于
window.onload
,但应用上比
window.onload
更灵活
<!DOCTYPE
html
PUBLIC
"-//W3C//DTD
XHTML
1.0
Transitional//EN"
"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns="
http://www.w3.org/1999/xhtml">
<head>
<meta
http-equiv="Content-Type"
content="text/html
charset=utf-8"
/>
<title>无标题文档</title>
</head>
<body>
<script
defer="defer">
alert("页面加载完我才执行的")
</script>
先看到这段话
然后再执行上面的
JS
如果去掉上面的
defer="defer"
那么会先执行JS
在看到这段话
</body>
</html>
js中是有立即执行函数的,比如说js文件中有一个函数为:function sayHello(){
console.log('Hello World!')
}
如果你想在js文件加载后,立即执行sayHello()函数,那么可以在js中加入
sayHello()的调用即可。
要把图片当成是图片对象才行;
var a=new Image()//这个是原生的JS实例化
a.src=arr[shownum++].url
然后Image对象有一个属性“onload”,这个就是加载完成,当加载完成之后你可以执行一个函数比如
a.onload=function(){
alert("完成加载")
}
这样当你的图片加载完成后就执行下面的函数了。
相关问题:
如果你是将JS函数写入到一个单独的文件中,如function.js,
下面为function.js
/*
这里最好是记录一下函数的作用,如果有参数,最好就是说明一下
函数名称:func1
函数作用:测试加载外部JS文件
参数说明:无
*/
function func1(){
alert("调用了函数1")
}
/*
函数名称:func1
函数作用:测试加载外部JS文件
参数说明:无
*/
function func2(){
alert("调用了函数2")
}
至于JS的书写规范有很多种,主要就是方便浏览及习惯,你可以自己看看书上的书写方式或者参考一下其他高手方式。
出现乱码的原因就是1楼所说,原因是你的JS文件和HTML文件的编码不一致,而且你的JS文件有中文(如果js文件只有英文的话,即便是编码不一致也不会出现乱码情况。)
你应该用记事本打开你的JS文件,然后点击“文件”--另存为--把编码改为“UTF-8”的编码,
这样就不会出现乱码了。