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来试一下。
这样就避免了函数覆盖的问题。
转载于:https://www.cnblogs.com/Daisy0331/p/8970013.html
- 03-jQuery和JS入口函数的区别
- 初识JQuery + JQuery使用 +JQuery和JS加载模块区别 + JQuery 入口函数 + JQuery 冲突问题
- JQuery入口函数$(function(){})与JS的window.onload的区别
- jQuery 和 js 入口函数的区别
- jquery入口函数和原生js入口函数的区别
- 【jQuery】 01-初识jQuery 02-jQuery-HelloWorld 03-jQuery和JS入口函数的区别 04-jQuery入口函数的其它写法 05-jQuery冲突问题
- 【jQuery】js中一些函数写法的区别
- jq与Js入口函数的区别
- 「jQuery」初识jQuery版本区别,入口函数的模式和写法,修改访问符号,冲突问题
- 2、jQuery的基本概念-必看-版本-入口函数- jq对象和dom对象区别
- 经典的Jquery的Hover事件,注意与JS的mouseover和mouseout函数的区别。
- jQuery 入口函数与 JavaScript 入口函数的区别
- jquery中的ready函数和js中onload函数区别讲解
- jQuery与原生js加载模式的区别(入口文件的加载)
- jQuery入门——包括:jQuery概述、jQuery的下载、jQuery的使用步骤、jQuery的入口函数、jQuery的顶级对象$、jQuery对象和DOM对象的区别及转换)
- js中escape,encodeURI,encodeURIComponent三个函数的区别
- jquery.validate.js常用扩展函数
- jquery.js和jquery.min.js的区别介绍
- JQuery的入口函数以及对象
- 浅析angular,react,vue.js jQuery使用区别