찾다
웹 프론트엔드JS 튜토리얼jQuery 구현 원리의 시뮬레이션 코드 - 4가지 중요한 확장 기능 extend_jquery

jQuery.fn.extend는 하나 이상의 샘플 객체를 통해 객체를 확장할 수 있는 확장 메커니즘을 제공합니다. 확장할 개체를 지정하지 않으면 해당 개체 자체로 확장됩니다.

jQuery.extend는 jQuery.fn.extend를 통해 사용할 수도 있습니다. 이는 jQuery에서 대상 개체의 멤버를 확장하는 데 많이 사용됩니다. 확장된 멤버는 일련의 참조 개체에서 나옵니다.
이렇게 하면 jQuery.fn 확장 멤버에 대한 데이터를 제거해야 하는 경우 다음과 같이 할 수 있습니다.

코드 복사 코드는 다음과 같습니다.

jQuery.fn.extend(
{
removeData: function( key ) {
return this.each(function() {
jQuery.removeData( this, key );
})
}
}
) ;

extend의 ​​소스 코드는 다음과 같습니다. 비교적 간단하기 때문에 너무 단순화하지는 않았습니다.
코드 복사 코드는 다음과 같습니다.

///
2
3
4 jQuery.extend = jQuery.fn.extend = function () {
5 // 대상 객체에 대한 참조 복사
6 var target =args[0] || {}, i = 1, length =args.length, deep = false, options, name, src, copy
7
8 // 전체 복사의 경우; 첫 번째 매개변수는 부울 유형이고, 두 번째 매개변수는 대상 객체입니다.
9 if (typeof target === "boolean") {
deep = target
target; = 인수[1] || {};
// 부울 및 대상 건너뛰기
i = 2
}
// 대상이 객체 또는 함수가 아닌 경우
if (typeof target !== "object" && !jQuery.isFunction(target)) {
target = {}
}
// 매개변수가 하나만 있는 경우 자체 확장
if (length === i) {
target = this;
--i
}
// 모든 참조 개체를 탐색하고 대상 개체로 확장합니다.
for (; i // null이 아닌/정의되지 않은 값만 처리 ​​
if ((options = 인수[i]) != null) {
// 기본 객체 확장
for (옵션의 이름) {
src = target[name];
copy = options[name]
// 무한 루프 방지
if (target === copy)
continue;
}
/ / 객체 리터럴 값이나 배열을 병합하는 경우 반복
if (deep && copy && (jQuery.isPlainObject(copy) || jQuery.isArray(copy) ))) {
var clone = src && (jQuery.isPlainObject(src) || ​​​​jQuery.isArray(src)) ? src
: jQuery.isArray(copy) ? 🎜>// 원본 객체를 이동하지 말고 복제하세요
target[name ] = jQuery.extend(deep, clone, copy)
// 정의되지 않은 값을 가져오지 마세요 ​​
} else if (복사 !== 정의되지 않음) {
target[name] = copy;
}
}
}
}
// 수정된 객체 반환
return target; 🎜>}

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
jquery实现多少秒后隐藏图片jquery实现多少秒后隐藏图片Apr 20, 2022 pm 05:33 PM

实现方法:1、用“$("img").delay(毫秒数).fadeOut()”语句,delay()设置延迟秒数;2、用“setTimeout(function(){ $("img").hide(); },毫秒值);”语句,通过定时器来延迟。

jquery怎么修改min-height样式jquery怎么修改min-height样式Apr 20, 2022 pm 12:19 PM

修改方法:1、用css()设置新样式,语法“$(元素).css("min-height","新值")”;2、用attr(),通过设置style属性来添加新样式,语法“$(元素).attr("style","min-height:新值")”。

axios与jquery的区别是什么axios与jquery的区别是什么Apr 20, 2022 pm 06:18 PM

区别:1、axios是一个异步请求框架,用于封装底层的XMLHttpRequest,而jquery是一个JavaScript库,只是顺便封装了dom操作;2、axios是基于承诺对象的,可以用承诺对象中的方法,而jquery不基于承诺对象。

jquery怎么在body中增加元素jquery怎么在body中增加元素Apr 22, 2022 am 11:13 AM

增加元素的方法:1、用append(),语法“$("body").append(新元素)”,可向body内部的末尾处增加元素;2、用prepend(),语法“$("body").prepend(新元素)”,可向body内部的开始处增加元素。

jquery怎么删除div内所有子元素jquery怎么删除div内所有子元素Apr 21, 2022 pm 07:08 PM

删除方法:1、用empty(),语法“$("div").empty();”,可删除所有子节点和内容;2、用children()和remove(),语法“$("div").children().remove();”,只删除子元素,不删除内容。

jquery中apply()方法怎么用jquery中apply()方法怎么用Apr 24, 2022 pm 05:35 PM

在jquery中,apply()方法用于改变this指向,使用另一个对象替换当前对象,是应用某一对象的一个方法,语法为“apply(thisobj,[argarray])”;参数argarray表示的是以数组的形式进行传递。

jquery on()有几个参数jquery on()有几个参数Apr 21, 2022 am 11:29 AM

on()方法有4个参数:1、第一个参数不可省略,规定要从被选元素添加的一个或多个事件或命名空间;2、第二个参数可省略,规定元素的事件处理程序;3、第三个参数可省略,规定传递到函数的额外数据;4、第四个参数可省略,规定当事件发生时运行的函数。

jquery怎么去掉只读属性jquery怎么去掉只读属性Apr 20, 2022 pm 07:55 PM

去掉方法:1、用“$(selector).removeAttr("readonly")”语句删除readonly属性;2、用“$(selector).attr("readonly",false)”将readonly属性的值设置为false。

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경