js入口函数跟jQuery入口函数的区别

Posted Daisy0331

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js入口函数跟jQuery入口函数的区别相关的知识,希望对你有一定的参考价值。

JS的window.onload事件必须要等到所有内容,以及外部图片之类的文件加载完之后,才会去执行。

JQuery入口函数是在所有标签加载完之后,就会去执行。

接着,通过JS的一个覆盖问题引出对JQuery入口函数实现的解释。

JS的入口函数window.onload函数有一个覆盖的问题,当文档中出现2个window.onload函数的时候,后者会覆盖前者,导致功能实现不了。但是JQuery却没有这样的问题,重要是因为JQuery入口函数只是对封装好了的方法的一个调用,只不过传的参数不同而已。

 

最后,说说JQuery入口函数($(document).ready();)的实现方式。

 

首先,我们在script标签中我们先创建一个函数变量就叫$,然后,在后面调用。现在并没有任何效果,因为这个调用的只是一个空的对象,没有任何参数。如果我们想在$()后面继续调用,还需要做一些事情。我们看JQuery入口函数中是不是有个ready方法,那我们可以创建一个对象的属性就叫ready,然后将ready指向一个匿名的函数,现在我们就可以通过$().ready()来调用了。

用一个具体的函数测试一下:

接着,JQuery入口函数可以传一个函数(作为变量传入)进来,即$().ready(function(){}),然后用一个形参(func)变量接收,那么严格执行接收的这个方法,只要调用一下(func())就行。

 

下面再看看JQuery入口函数前面的document参数,即$(document).ready(function(){}),这样和JQuery的入口函数就一模一样了。同样需要用一个变量接收。最后只要在ready函数里面去判断一下这个onload事件有没有(或者说有没有被赋值):

(1)有(被赋值),接收一个旧的函数,重新赋值onload事件,然后先去调用新的函数,接着再调用旧的函数,这样就不会有覆盖的问题,他俩个函数都实现了。

(2)没有,直接赋值个onload事件。

 

最后,我们来测试一下,由于document没有onload事件,我们可以用window来试一下。

这样就避免了函数覆盖的问题。

以上是关于js入口函数跟jQuery入口函数的区别的主要内容,如果未能解决你的问题,请参考以下文章

jQuery和JS入口函数的区别

js和jQuery入口函数的区别

JQ——初识JQJQ入口函数与JS入口函数的区别

jquery 1,2,3三个版本的下载区别/以及jquery使用步骤,jQuery入口函数

JQuery对象和JS对象区别转换以及JQuery事件绑定入口函数样式控制

js和jquery的区别