웹 프론트엔드 JS 튜토리얼 더 나은 jQuery를 만드는 데 도움이 되는 10가지 팁

더 나은 jQuery를 만드는 데 도움이 되는 10가지 팁

May 16, 2016 pm 03:58 PM
제이쿼리 플러그인 만들다

이 문서에는 더 나은 jQuery 플러그인을 만드는 데 도움이 되는 10가지 제안이 요약되어 있습니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 지침은 다음과 같습니다.

많은 jQuery 플러그인을 개발한 후, 저는 jQuery 플러그인 개발을 위한 상대적으로 표준적인 구조와 패턴 세트를 천천히 알아냈습니다. 이렇게 하면 대부분의 코드 구조를 복사하여 붙여넣고 기본 논리 코드에만 집중할 수 있습니다. 동일한 디자인 패턴과 아키텍처를 사용하면 버그 수정이나 2차 개발 수행도 더 쉬워집니다. 입증된 아키텍처는 플러그인이 단순하든 복잡하든 관계없이 내 플러그인이 큰 문제를 일으키지 않도록 보장할 수 있습니다. 여기에 제가 요약한 10가지 경험을 공유합니다.

1. 모든 코드를 클로저 안에 넣으세요

제가 가장 많이 사용하는 방법입니다. 그러나 클로저 외부의 메서드를 호출할 수 없는 경우도 있습니다.

하지만 플러그인의 코드는 자신의 플러그인만 제공하므로 이 문제는 존재하지 않습니다. 모든 코드를 클로저에 넣으면 됩니다.

이 메서드는 아마도 Prototype 메서드 내부에 배치되어야 합니다.

(function($) {  
  //code here 
})(jQuery);

로그인 후 복사

2. 플러그인에 대한 기본 옵션 제공

플러그인에는 개발자가 설정할 수 있는 몇 가지 옵션이 있어야 하므로 복원 기본 옵션을 제공해야 합니다. jQuery의 확장 기능을 통해 다음 옵션을 설정할 수 있습니다.

var defaultSettings = {   mode      : 'Pencil',   
               lineWidthMin  : '0',   
               lineWidthMax  : '10',   
               lineWidth    : '2' }; 
settings = $.extend({}, defaultSettings, settings || {});

로그인 후 복사

3.

을 사용하여 요소를 반환합니다.

JavaScript/jQuery에는 메서드 계단식을 수행할 수 있는 좋은 기능이 있으므로 이 기능을 파괴하지 말고 항상 메서드의 요소를 반환해야 합니다. 나는 내가 만드는 모든 jQuery 플러그인에서 이 규칙을 따릅니다.

$.fn.wPaint = function(settings) {  
 return this.each(function() { 
    var elem = $(this);    
  //run some code here   
 } 
}

로그인 후 복사

4. 일회성 코드를 메인 루프 외부에 배치하세요

이는 매우 중요하지만 종종 무시됩니다. 간단히 말해서, 플러그인 함수가 호출될 때마다 인스턴스화되는 것이 아니라, 기본값이 여러 개이고 한 번만 인스턴스화하면 되는 코드 조각이 있는 경우 이 코드를 플러그인 외부에 배치해야 합니다. 방법. 이를 통해 플러그인을 보다 효율적으로 실행하고 메모리를 절약할 수 있습니다.

var defaultSettings = {  
               mode      : 'Pencil',   
               lineWidthMin  : '0',   
               lineWidthMax  : '10',   
               lineWidth    : '2' }; 
settings = $.extend({}, defaultSettings, settings || {});
$.fn.wPaint = function(settings) {  
 return this.each(function() { 
    var elem = $(this);    
  //run some code here   
 } 
}

로그인 후 복사

위 코드의 "defaultSettings"는 완전히 플러그인 메소드 외부에 있음을 알 수 있습니다. 이러한 코드는 클로저 내부에 있으므로 이러한 변수가 재정의되는 것에 대해 걱정할 필요가 없습니다.

5. 클래스 프로토타이핑을 설정하는 이유

코드의 핵심인 메소드와 함수는 프로토타입 함수 내에 배치되어야 합니다. 두 가지 이유가 있습니다:

◆ 이러한 메소드를 반복적으로 생성할 필요가 없기 때문에 많은 메모리를 절약할 수 있습니다.

◆ 이미 만들어진 방법을 다시 만드는 것보다 참고하는 것이 훨씬 빠릅니다.

간단히 말하면 프로토타입은 모든 객체에서 이러한 메서드를 인스턴스화하지 않고 객체를 확장하고 이에 대한 메서드를 제공합니다. 이는 또한 코드를 더욱 체계적이고 효율적으로 만듭니다. 이러한 개발 방식에 익숙해지면 향후 프로젝트에서 많은 시간을 절약할 수 있다는 것을 알게 될 것입니다.

6. 클래스 프로토타이핑 설정 방법

프로토타입 방법 설정은 두 부분으로 구성됩니다. 먼저 초기 클래스 정의를 생성해야 합니다. 이는 대부분의 경우 객체 생성을 의미합니다. 이 정의에는 각 개체 인스턴스마다 다른 부분이 포함되어 있습니다. 내 Paint jQuery 플러그인에는 다음과 같이 작성했습니다.

function Canvas(settings) {  
 this.settings = settings;   
 this.draw = false;   
 this.canvas = null;    
   this.ctx = null;  
  return this;
}

로그인 후 복사

전역 메서드를 추가해 보겠습니다.

Canvas.prototype = {   
 generate: function() { 
    //generate code  
 } 
}
로그인 후 복사

여기서 핵심은 프로토타입 방법을 보편적으로 만드는 것이지만 데이터는 각 인스턴스마다 고유하며 "this"로 참조할 수 있습니다.

7. "this" 개체를 사용하세요

"$this"를 사용하면 다른 클로저에 대한 올바른 참조를 전달할 수 있습니다. $this 참조를 다른 메소드에 전달해야 할 수도 있습니다. $this라는 이름은 변경될 수 있으며, 어떤 변수 이름이라도 사용할 수 있다는 점에 유의하세요.

Canvas.prototype = {  
 generate: function()  { 
    //some code    
  var $this = this;    
  var buton = //...some code  
    button.click(function(){ 
    //using this will not be found since it has it's own this    
    //use $this instead.     
   $this.someFunc($this);    
  });  
 }, 
 someFunc: function($this)   {  
    //won't know what "this" is.  
   //use $this instead passed from the click event  
  } 
}

로그인 후 복사

8. 각 개체에 설정을 저장합니다

각 개체에 나만의 설정을 저장한 다음 해당 개체의 설정을 조작해 왔습니다. 이렇게 하면 다양한 메서드에서 많은 매개변수를 전달할 필요가 없습니다. 이러한 변수를 개체에 넣으면 다른 위치에서 이러한 변수를 더 쉽게 호출할 수도 있습니다.

function Canvas(settings) {  
 this.settings = settings;  
  return this; 
}

로그인 후 복사

9. 프로토타입 메소드 로직을 분리하세요

이것이 기본 원칙일 수 있습니다. 메서드 제공을 주저하는 경우 "다른 사람이 이 메서드를 재정의한다면 귀하의 코드가 그들의 요구 사항을 충족할 수 있을까요?" 또는 "다른 사람이 이 메서드를 작성하는 것이 얼마나 어려울까요?"라고 자문해 보세요. 물론 이는 유연성의 문제이다. 다음은 내 색상 선택기 jQuery 플러그인 방법 목록입니다. 참조할 수 있습니다.

generate() 
appendColors() 
colorSelect() 
colorHoverOn() 
colorHoverOff() 
appendToElement() 
showPalette() 
hidePalette()

로그인 후 복사

10. Setter/Getter 옵션 제공

이것은 필요하지 않지만 내 모든 플러그인에 이 항목이 포함되어 있는 것으로 나타났습니다. 다른 사람에게 필요할 수 있는 기능을 제공하려면 약간의 코드만 필요하기 때문입니다.

기본적으로 개발자가 요소의 기존 값을 설정하거나 가져올 수 있도록 허용하면 됩니다.

var lineWidth = $("#container").wPaint("lineWidth"); 
$("#container").wPaint("lineWidth", "5");

로그인 후 복사

요약: 위 10가지 항목은 기본적으로 jQuery 플러그인 개발의 핵심을 다루며, 개발을 위한 템플릿으로 사용할 수 있습니다. 기본 코드 세트가 있으면 개발 시간이 크게 단축되고 플러그인 아키텍처를 설계할 때 더욱 자신감을 가질 수 있습니다.

이 기사가 모든 사람의 jquery 프로그래밍 설계에 도움이 되기를 바랍니다.

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 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를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

Python에서 누적 곡선 그래프를 만드는 방법은 무엇입니까? Python에서 누적 곡선 그래프를 만드는 방법은 무엇입니까? Aug 23, 2023 pm 08:33 PM

ogive 그래프는 누적 빈도 곡선이라고도 하는 데이터 집합의 누적 분포 함수(CDF)를 그래픽으로 나타냅니다. 데이터 분포를 조사하고 패턴과 추세를 발견하는 데 사용됩니다. Matplotlib, Pandas 및 Numpy는 멋진 그래픽을 생성하기 위해 Python에서 제공하는 라이브러리 및 도구 중 일부입니다. 이 튜토리얼에서는 Matplotlib을 사용하여 Python에서 ogive 그래픽을 생성하는 방법을 살펴보겠습니다. 누적 곡선 차트를 생성하려면 필수 라이브러리를 가져와야 합니다. 이 예에서는 Matplotlib, Pandas 및 Numpy를 사용합니다. Matplotlib는 Python에서 생성하기 위한 널리 사용되는 데이터 시각화 라이브러리입니다.

Python에서 상수를 만드는 방법은 무엇입니까? Python에서 상수를 만드는 방법은 무엇입니까? Aug 29, 2023 pm 05:17 PM

상수와 변수는 프로그래밍에서 데이터 값을 저장하는 데 사용됩니다. 변수는 일반적으로 시간이 지남에 따라 변경될 수 있는 값을 나타냅니다. 상수는 프로그램 실행 중에 값을 변경할 수 없는 변수 유형입니다. Python에서 사용할 수 있는 내장 상수는 6개뿐입니다. 이는 False, True, None, NotImplemented, Ellipsis(...) 및 __debug__입니다. 이러한 상수 외에도 Python에는 상수 값을 저장하는 내장 데이터 유형이 없습니다. 예 상수의 예는 아래에 설명되어 있습니다. False=100 출력 SyntaxError:cannotsigntoFalseFalse는 부울 값을 저장하는 데 사용되는 Python의 내장 상수입니다.

최신 iOS 17에서 iPhone을 개인화하는 방법 최신 iOS 17에서 iPhone을 개인화하는 방법 Sep 21, 2023 am 08:17 AM

iPhone에서 통화를 개인화하는 방법 Apple의 iOS 17에는 iPhone의 통화 화면 모양을 개인화할 수 있는 연락처 포스터라는 새로운 기능이 도입되었습니다. 이 기능을 사용하면 선택한 사진, 색상, 글꼴, 미모티콘을 연락처 카드로 사용하여 포스터를 디자인할 수 있습니다. 따라서 전화를 걸면 사용자 정의 이미지가 수신자의 iPhone에 예상한 대로 정확하게 표시됩니다. 저장된 모든 연락처와 고유한 연락처 포스터를 공유하도록 선택하거나 이를 볼 수 있는 사람을 선택할 수 있습니다. 마찬가지로, 통화 중에 다른 사람의 연락처 포스터도 볼 수 있습니다. 또한 Apple에서는 개별 연락처에 대한 특정 연락처 사진을 설정하여 해당 연락처에서 전화를 걸 수 있습니다.

김프에서 픽셀 아트를 만드는 방법 김프에서 픽셀 아트를 만드는 방법 Feb 19, 2024 pm 03:24 PM

Windows에서 픽셀 아트 제작을 위해 김프를 사용하는 데 관심이 있다면 이 기사가 흥미로울 것입니다. GIMP는 무료 오픈 소스일 뿐만 아니라 사용자가 아름다운 이미지와 디자인을 쉽게 만들 수 있도록 도와주는 잘 알려진 그래픽 편집 소프트웨어입니다. 초보자와 전문 디자이너 모두에게 적합할 뿐만 아니라, 김프는 그리기와 창작을 위한 유일한 구성 요소로 픽셀을 활용하는 디지털 아트의 한 형태인 픽셀 아트를 만드는 데에도 사용할 수 있습니다. 김프에서 픽셀 아트를 만드는 방법 Windows PC에서 김프를 사용하여 픽셀 그림을 만드는 주요 단계는 다음과 같습니다. 김프를 다운로드하여 설치한 다음 응용 프로그램을 시작합니다. 새 이미지를 만듭니다. 너비와 높이의 크기를 조정합니다. 연필 도구를 선택합니다. 브러시 유형을 픽셀로 설정합니다. 설정

Python을 통해 사용자 인터페이스를 만드는 방법은 무엇입니까? Python을 통해 사용자 인터페이스를 만드는 방법은 무엇입니까? Aug 26, 2023 am 09:17 AM

이번 글에서는 Python을 사용하여 사용자 인터페이스를 만드는 방법을 알아봅니다. 그래픽 사용자 인터페이스란 무엇입니까? "그래픽 사용자 인터페이스"(또는 "GUI")라는 용어는 정보를 표시하고 상호 작용하기 위해 컴퓨터 소프트웨어에서 상호 작용할 수 있는 일련의 시각적 요소 항목을 의미합니다. 사람의 입력에 따라 객체는 색상, 크기, 가시성과 같은 모양 특성을 변경할 수 있습니다. 아이콘, 커서 및 버튼과 같은 그래픽 구성 요소는 오디오 또는 시각적 효과(예: 투명도)를 통해 향상되어 그래픽 사용자 인터페이스(GUI)를 만들 수 있습니다. 더 많은 사람들이 귀하의 플랫폼을 사용하기를 원한다면, 귀하의 플랫폼이 좋은 사용자 인터페이스를 가지고 있는지 확인해야 합니다. 이러한 요소들의 조합이 앱이나 웹사이트에서 제공하는 서비스 품질에 큰 영향을 미칠 수 있기 때문입니다. Python은 다음과 같은 기능을 제공하므로 개발자가 널리 사용합니다.

Gree+로 가족을 만드는 방법 Gree+로 가족을 만드는 방법 Mar 01, 2024 pm 12:40 PM

많은 친구들이 Gree+ 소프트웨어에서 가족을 만드는 방법을 알고 싶다고 말했습니다. 자세한 내용을 알고 싶은 친구들은 저와 함께 살펴보세요. 먼저 휴대폰에서 Gree+ 소프트웨어를 열고 로그인하세요. 그런 다음 페이지 하단의 옵션 표시줄에서 맨 오른쪽에 있는 "내" 옵션을 클릭하여 개인 계정 페이지로 들어갑니다. 2. 내 페이지에 접속한 후 "가족" 아래에 "가족 만들기" 옵션이 있습니다. 찾은 후 클릭하여 들어갑니다. 3. 다음으로 가족을 생성하는 페이지로 이동하여 프롬프트에 따라 입력 상자에 설정할 가족 이름을 입력하고 입력 후 오른쪽 상단의 "저장" 버튼을 클릭합니다. 4. 마지막으로 페이지 하단에 "저장 성공" 메시지가 나타나 패밀리가 성공적으로 생성되었음을 나타냅니다.

iPhone용 연락처 포스터를 만드는 방법 iPhone용 연락처 포스터를 만드는 방법 Mar 02, 2024 am 11:30 AM

iOS17에서 Apple은 일반적으로 사용되는 전화 및 연락처 앱에 연락처 포스터 기능을 추가했습니다. 이 기능을 통해 사용자는 각 연락처에 대해 개인화된 포스터를 설정할 수 있어 주소록을 더욱 시각적이고 개인적으로 만들 수 있습니다. 연락처 포스터는 사용자가 특정 연락처를 더 빠르게 식별하고 찾는 데 도움이 되어 사용자 경험을 향상시킵니다. 이 기능을 통해 사용자는 자신의 선호도와 요구 사항에 따라 각 연락처에 특정 사진이나 로고를 추가할 수 있어 주소록 인터페이스가 더욱 생생해집니다. iOS17의 Apple은 iPhone 사용자에게 자신을 표현하는 새로운 방법을 제공하고 개인화 가능한 연락처 포스터를 추가했습니다. 연락처 포스터 기능을 사용하면 다른 iPhone 사용자에게 전화할 때 고유하고 개인화된 콘텐츠를 표시할 수 있습니다. 너

Highcharts를 사용하여 Gantt 차트를 만드는 방법 Highcharts를 사용하여 Gantt 차트를 만드는 방법 Dec 17, 2023 pm 07:23 PM

Highcharts를 사용하여 간트 차트를 만드는 방법에는 특정 코드 예제가 필요합니다. 소개: 간트 차트는 프로젝트 진행 상황 및 시간 관리를 표시하는 데 일반적으로 사용되는 차트 형식으로 작업의 시작 시간, 종료 시간 및 진행 상황을 시각적으로 표시할 수 있습니다. Highcharts는 풍부한 차트 유형과 유연한 구성 옵션을 제공하는 강력한 JavaScript 차트 라이브러리입니다. 이 기사에서는 Highcharts를 사용하여 Gantt 차트를 만드는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. 하이차트

See all articles