Joe*_*Joe 5 html javascript css
我的问题与这里提出的问题类似,但略有不同,window.onload vs <body onload=""/>
在那个问题中,它是使用 window.onload 和内联 js 之间的比较。
我的问题是以下内容之间的区别。假设 body 标签的 Id 为“bodyTag”。
document.getElementById("bodyTag").onload = function () {
alert("hi");
}
Run Code Online (Sandbox Code Playgroud)
对比
window.onload = function () {
alert("hi");
}
Run Code Online (Sandbox Code Playgroud)
确切地说,这两者之间有什么区别,我什么时候应该使用其中一种?这仅适用于纯 JavaScript。我是否正确假设不同之处在于 window.onload 直到整个网页加载完毕、所有样式都已加载、所有 Javascript 代码已加载后才会启动?虽然使用第一个版本 (document.getElementById("bodyTag").onload=),但它等待整个网页加载(如果它在 head 中声明为外部 CSS 文件,则为 CSS 样式),但不适用于所有 Javascript装载?那是区别吗?
窗口(对象)有时被称为全局空间容器,它包含所有其他对象(默认的和您自定义的对象),它包含所有内容,例如indexedDB,会话存储,cookie,您的变量,您的函数以及浏览器页面中的所有内容。基本上,正如我上面所写的,窗口是一个对象,它将所有内容存储为方法或属性。让我解释一下什么是属性,什么是方法,
(function my_obj(){
this.firstName="john";
var middleName = "XYZ"
this.lastName="doe";
this.fullName = function(){
return this.firstName+" "+this.middleName+" "+this.lastName
}
document.write(this.fullName())
})();
Run Code Online (Sandbox Code Playgroud)
在这个例子中,我使用构造函数创建了对象,在这个例子中firstName,middleName并被lastName引用为属性,并被fullName()称为方法(你可以说方法是对象内函数的另一个名称)。所以考虑这样的窗口
window{
preset_obj:{};
indexedDB:{......};
.
.
.
.
.
.
.
.
.
.
.
//your code loads in the end
var my_var= "JS rocks!"
var anti_me= "Are You out of your Mind?? JS??Huh!"
var dont_care= "I Love COBOL"
}
Run Code Online (Sandbox Code Playgroud)
但我朋友的身体情况不同(更不用说文档和身体是两个不同的对象)。如果你给身体一个 ID 并使用document.getElementByID('ID'). 它将返回包含页面中显示的所有可见元素的对象。但它不会包含所有其他窗口内容,例如 cookie、会话存储。文件的情况也是如此。文档选择您编写的完整 HTML 代码。换句话说,它是包含<html></html>标签内所有内容的对象。希望这能消除混乱
- - - - - - - - - - - -更新 - - - - - - - - - - - - - ------------------------- 好的,抱歉没有正确阅读您的帖子。
window.onload当整个页面与标题一起完成处理时将加载(不要与head标签或 HTML5header标签混淆)。
document.onload将在前端工作时加载(HTML、CSS 和 JS 将完成加载),除非您在标头中发送 100KB 以上的代码,否则时间差异不大,我会说坚持使用 window.onload ,除非您的标头很大或者您想要这样做特定于页面显示的时间
| 归档时间: |
|
| 查看次数: |
2339 次 |
| 最近记录: |