Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript window.onload与body.onload_Javascript_Html_Css - Fatal编程技术网

JavaScript window.onload与body.onload

JavaScript window.onload与body.onload,javascript,html,css,Javascript,Html,Css,我的问题与这里的问题相似,但有点不同 在这个问题上,这是使用window.onload和内联js之间的比较 我的问题是以下两者之间的区别。假设body标签的Id为“bodyTag” vs 确切地说,这两者之间有什么区别?我应该在什么时候使用其中一种?这仅适用于纯JavaScript。我假设的区别是window.onload在加载整个网页、加载所有样式和加载所有Javascript代码之前不会启动,对吗?在第一个版本(document.getElementById(“bodyTag”).onloa

我的问题与这里的问题相似,但有点不同

在这个问题上,这是使用window.onload和内联js之间的比较

我的问题是以下两者之间的区别。假设body标签的Id为“bodyTag”

vs

确切地说,这两者之间有什么区别?我应该在什么时候使用其中一种?这仅适用于纯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())
})();
在本例中,我使用构造函数创建了对象,在本例中,
firstName
middleName
lastName
被引用为属性,
fullName()
被称为methed(可以说方法是对象中函数的另一个名称)。 因此,考虑这样的窗口

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"

}
但我的朋友身体是不同的情况,(更不用说文件和身体是两个不同的对象)。如果给body一个ID并使用
document.getElementByID('ID')
。它将返回包含页面中显示的所有可见元素的对象。但它不会包含所有其他窗口内容,如cookies、会话存储。文档也是如此。文档选择您只编写的整个HTML代码。换句话说,它是包含
标记中包含的所有内容的对象。希望这能消除混乱

-----------------------更新--------------------------------------------------- 好的,对不起,你的帖子读错了。
window.onload
将在整个页面处理完成后加载,同时加载页眉(不要与
head
tag或HTML5
header
tag混淆)。
document.onload
将在前端工作(HTML、CSS和JS将完成加载)时加载,时间差不大,除非您发送100KB以上的标题代码,我会说坚持使用window.onload,除非你的标题很大或者你想做一些特定于页面显示时间的事情

当加载网页的窗口时,window-onload将被加载,而as-body-onload将只在加载网页的主体时被加载

简单地说,
首先加载窗口,然后加载网页主体。因此,Window.load将首先加载,然后body onload将起作用。

不同浏览器的行为可能不同。当DOM准备就绪时,body.onload将触发,这不一定是在加载所有其他内容之后触发的。请看这里获得一个好的答案:谢谢!甚至不知道Document.onload的存在。看来我最想要的是window.onload,对吧?至于“DOM准备好了”的时间,我还是有点不清楚。这仅仅意味着加载了实际的网页,而不是脚本,对吗?总的来说,最好的做法是在处理纯JavaScript时使用window.onload?我不确定另一个线程中接受的答案在document.onload上是否完全正确。onload方法侦听load事件,该事件应仅在节点下的每个资源都已加载的情况下触发。相反,如果基本DOM已就位,则应已触发DomContentLoaded事件。(这里有一小段来区分这两种情况)如果要等待加载所有资源,请使用window.onload。要尽快触发js,请使用DomContentLoaded(或jQuerysReady方法)
(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())
})();
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"

}