方法1:使用defer
< defer=\"defer\" language=\" \"></ >
//或者
< defer language=\" \"></ >
但这种方法只有IE支持,其他浏览器不识别defer 这种方法不靠谱
方法2:window.
< type=”text/ ”>
window. =function (){
var userName=”xiaoming”;
alert(userName);
}
</ >
但这个方法在IE中只能在一个地方调用,假如2个地方调用,后面调用的就会把前面的添加的覆盖掉;
方法3:jQuery方法,需要引用jQuery文件。
< type=”text/ ”>
$(document).ready(function (){
var userName=”xiaoming”;
alert(userName);
});
</ >
下面我们介绍一下Window. =function (){}与$(document).ready(function (){})的区别:
在Jquery里面,我们可以看到两种写法:$(function(){}) 和$(document).ready(function(){})
这两个方法的效果都是一样的,都是在dom文档树加载完之后执行一个函数(注意,这里面的文档树加载完不代表全部文件加载完)。
而window. 是在dom文档树加载完和所有文件加载完之后执行一个函数。也就是说$(document).ready要比window. 先执行。
那么Jquery里面$(document).ready函数的内部是怎么实现的呢?下面我们就来看看:
我们来为document添加一个ready函数:
document.ready = function (callback) {
///兼容FF,Google
if (document.addEventListener) {
document.addEventListener(\'DOMContentLoaded\', function () {
document.removeEventListener(\'DOMContentLoaded\', arguments.callee, false);
callback();
}, false)
}
//兼容IE
else if (document.attachEvent) {
document.attachEvent(\' \', function () {
if (document.readyState == \"complete\") {
document.detachEvent(\" \", arguments.callee);
callback();
}
})
}
else if (document.lastChild == document.body) {
callback();
}
}
ocument.ready这个函数是实现了。我们再来验证一下最上面所说的“ready要比 先执行”:
window. = function () {
alert(\' \');
};
document.ready(function () {
alert(\'ready\');
});
执行这段代码之后,你会看到浏览器里面会先弹出“ready”,在弹出 。
这个大家还是亲手试试吧!
继续阅读与本文标签相同的文章
上一篇 :
使用Go 语言开发必备的5大开源工具
下一篇 :
安卓性能革命突破?华为方舟编译器技术原理详解
-
他让我国芯片研究停滞13年,还骗走11亿研发资金,现状如何?
2026-05-14栏目: 教程
-
健乐教学机器人可开展的教学实训内容
2026-05-14栏目: 教程
-
5G套餐曝光遭“吐槽”,iphone11受追捧,导致苹果11销量比较高
2026-05-14栏目: 教程
-
为什么修电脑的叫自己不要杀毒和清理垃圾?
2026-05-14栏目: 教程
-
当水乡建筑遇上机器人,成就乌镇又一网红景点
2026-05-14栏目: 教程
