jQuery에서 nocon conflict는 변수 충돌을 방지하고 변수 제어를 해제하는 데 사용되는 중요한 방법입니다. 우리는 jQuery가 외부 세계에 두 개의 전역 변수인 $와 jQuery를 제공한다는 것을 알고 있습니다. jQuery는 두 개의 전역 변수만 생성하지만 충돌은 드문 경우에만 발생합니다. 그러나 웹 페이지에 더 많은 클래스 라이브러리가 포함되어 있으면 자동으로 A 충돌이 발생합니다. $를 정의하거나 jQuery 전역 변수가 존재할 때 발생합니다.
jQuery에서 제공하는 nocon conflict 기능은 변수 충돌 문제를 매우 잘 해결합니다. $ 충돌이든 jQuery 충돌이든 해결이 가능합니다. 다음으로 jQuery의 충돌 처리를 분석해 보겠습니다.
먼저 jQuery 소스 코드에서 충돌 없음 구현을 살펴보겠습니다.
(function(window,undefined){ var // Map over jQuery in case of overwrite _jQuery = window.jQuery, // Map over the $ in case of overwrite _$ = window.$, jQuery.extend({ noConflict: function( deep ){ if ( window.$ === jQuery ) { window.$ = _$; } if ( deep && window.jQuery === jQuery ) { window.jQuery = _jQuery; } return jQuery; } }) }(window)
여기서 jQuery.extend는 jQuery의 정적 속성을 확장하는 방법입니다. 이는 jQuery에 noConfluence 메서드를 직접 첨부하는 것으로 볼 수 있습니다. 익명 함수 내에서 내부 변수 _jQuery 및 _$를 각각 정의하여 window.jQuery 및 window.$를 저장합니다. 이 목적은 jQuery가 실행되기 전에 내부 변수를 사용하여 이 두 전역 변수의 상태를 저장하는 것입니다. 나중에 사용할 수 있습니다. 이 두 변수는 충돌 방지 작업에서 복원됩니다. noConstrict는 두 변수 $와 jQuery 사이의 충돌을 처리할 수 있으며, 기본적으로 $를 처리합니다. true 매개변수가 전달되면 jQuery 충돌이 처리됩니다.
window.$ === jQuery는 전역 변수가 jQuery와 같은지 확인하는 데 사용됩니다. 동일한 경우 전역 변수 $는 jQuery가 실행되기 전에 변수로 복원됩니다(내부 변수 _$에 저장됨). window.jQuery === jQuery 심층 충돌 처리가 활성화되고 전역 변수 jQuery가 내부 jQuery와 동일하면 전역 jQuery가 이전 상태로 복원됩니다. window.$ === jQuery 및 window.jQuery=jQuery를 판단하는 의미는 다음 코드와 같이 정의된 변수가 덮어쓰여지지 않도록 보호하는 것입니다.
//引入jQuery库 var $="String"; var jq=jQuery.noconflict(); var jQuery="This is a line"; var j=jq.noconflict(true); console.log($);//这里如果没有window.$===jQuery这句判断,那么$将会等于undefined而不是"String"。 console.log(jQuery); //同上,如果没有判断window.jQuery===jQuery,重新定义的jQuery就会被undefined覆盖。
전체 작업 과정은 아래 그림과 같습니다.
noConstrict는 jQuery 라이브러리 내부에서 jQuery 생성자를 반환합니다. $!
처럼 사용하세요.
实现方法:1、用“$("img").delay(毫秒数).fadeOut()”语句,delay()设置延迟秒数;2、用“setTimeout(function(){ $("img").hide(); },毫秒值);”语句,通过定时器来延迟。

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

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

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

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

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

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

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


핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

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

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

드림위버 CS6
시각적 웹 개발 도구

WebStorm Mac 버전
유용한 JavaScript 개발 도구
