jQuery와 자바스크립트 성능에 대해 논의하는 기사가 흔합니다. 그러나 나는 다른 사람들이 jQuery에 대해 정리한 몇 가지 속도 팁과 제안을 기반으로 JSLite 및 JavaScript 코드를 개선하는 방법을 가르쳐 줄 계획입니다. 좋은 코드는 속도 향상을 가져옵니다. 빠른 렌더링과 응답성은 더 나은 사용자 경험을 의미합니다.
먼저 JSLite는 자바스크립트라는 점을 명심하세요. 이는 동일한 코딩 규칙, 스타일 가이드 및 모범 사례를 채택해야 함을 의미합니다.
먼저 javascript 초보자이고 jQuery를 사용해 본 적이 없다면 먼저 공식 문서의 구문 소개를 읽어 보시기 바랍니다. 이는 고품질의 javascript 튜토리얼이므로 jQuery를 사용해 왔다는 의미입니다. 잠시.
JSLite를 사용할 준비가 되면 다음 지침을 따르는 것이 좋습니다.
캐시 변수
DOM 순회에는 비용이 많이 들므로 재사용된 요소를 캐시해 보세요.
// 이런
h = $('#element').height();
$('#element').css('height',h-20);
//제안
$요소 = $('#요소');
h = $element.height();
$element.css('높이',h-20);
전역 변수를 피하세요
JSLite는 JavaScript와 동일합니다. 일반적으로 변수가 함수 범위 내에 있는지 확인하는 것이 가장 좋습니다.
// 이런
$요소 = $('#요소');
h = $element.height();
$element.css('높이',h-20);
//제안
var $element = $('#element');
var h = $element.height();
$element.css('높이',h-20);
헝가리 명칭 사용
JSLite 객체를 쉽게 식별하려면 변수 앞에 $ 접두사를 추가하세요.
// 이런
var first = $('#first');
var 초 = $('#초');
var 값 = $first.val();
// 제안 - JSLite 객체에 $
접두사를 붙입니다. var $first = $('#first');
var $초 = $('#초'),
var 값 = $first.val();
var 체인 사용(단일 var 모드)
여러 개의 var 문을 하나의 문으로 통합하려면 할당되지 않은 변수를 끝에 넣는 것이 좋습니다.
var $first = $('#first'),
$초 = $('#초'),
값 = $first.val(),
k = 3,
쿠키스트링 = 'SOMECOOKIESPLEASE',
나
제이,
MyArray = {};
사용해주세요
JSLite의 새 버전에서는 click()과 같은 기능을 대체하기 위해 더 짧은 on("click")이 사용되었습니다. 이전 버전에서는 on()이 바인딩()이었습니다. on()은 이벤트 핸들러를 연결하는 데 선호되는 방법입니다. 그러나 일관성을 위해 on() 메서드를 모두 함께 사용할 수도 있습니다.
// 이런
$first.click(함수(){
$first.css('테두리','1px 단색 빨간색');
$first.css('color','blue');
});
$first.hover(function(){
$first.css('테두리','1px 단색 빨간색');
})
//제안
$first.on('클릭',함수(){
$first.css('테두리','1px 단색 빨간색');
$first.css('color','blue');
})
$first.on('hover',function(){
$first.css('테두리','1px 단색 빨간색');
})
간소화된 자바스크립트
일반적으로 가능하면 기능을 결합하는 것이 가장 좋습니다.
// 이런
$first.click(함수(){
$first.css('테두리','1px 단색 빨간색');
$first.css('color','blue');
});
//제안
$first.on('클릭',함수(){
$first.css({
'테두리':'1px 단색 빨간색',
'색상':'파란색'
});
});
체인운영
JSLite에서는 메소드의 체인 작업을 구현하는 것이 매우 쉽습니다. 아래를 활용해 보세요.
// 이런
$second.html(값);
$second.on('클릭',함수(){
Alert('안녕하세요 여러분');
});
$second.fadeIn('느린');
$second.animate({높이:'120px'},500);
//제안
$second.html(값);
$second.on('클릭',함수(){
Alert('안녕하세요 여러분');
}).fadeIn('slow').animate({height:'120px'},500);
코드 가독성 유지
코드를 간소화하고 연결을 사용하면 코드를 읽기 어려워질 수 있습니다. 핀치와 줄 바꿈을 추가하면 놀라운 효과를 얻을 수 있습니다.
// 이런
$second.html(값);
$second.on('클릭',함수(){
Alert('안녕하세요 여러분');
}).fadeIn('slow').animate({height:'120px'},500);
//제안
$second.html(값);
$초
.on('click',function(){ Alert('안녕하세요 여러분');})
.fadeIn('느리게')
.animate({높이:'120px'},500);
단락 평가 선택
단락 평가는 &&(논리적 AND) 또는 ||(논리적 OR) 연산자를 사용하여 왼쪽에서 오른쪽으로 평가되는 표현식입니다.
// 이런
함수 initVar($myVar) {
If(!$myVar) {
$myVar = $('#selector');
}
}
//제안
함수 initVar($myVar) {
$myVar = $myVar || $('#selector');
}
바로가기 선택
코드를 간소화하는 한 가지 방법은 코딩 단축키를 활용하는 것입니다.
// 이런
if(collection.length > 0){..}
//제안
if(컬렉션.길이){..}
과중한 작업 중 요소 분리
DOM 요소에 대해 많은 작업(여러 속성 또는 CSS 스타일을 연속적으로 설정)을 수행하려는 경우 요소를 먼저 분리한 후 추가하는 것이 좋습니다.
// 이런
변수
$컨테이너 = $("#컨테이너"),
$containerLi = $("#컨테이너 li"),
$요소 = null;
$element = $containerLi.first()
//... 많은 복잡한 작업
//더 좋습니다
변수
$컨테이너 = $("#컨테이너"),
$containerLi = $container.find("li"),
$요소 = null;
$element = $containerLi.first().detach()
//... 많은 복잡한 작업
$container.append($element);
기억력
JSLite의 메소드 사용 경험이 없을 수도 있습니다. 문서를 확인하세요. 더 좋고 더 빠른 사용 방법이 있을 수 있습니다.
// 이런
$('#id').data(키,값);
// 제안(효율적)
$.data('#id',키,값);
하위 쿼리를 사용하여 캐시된 상위 요소
앞서 언급했듯이 DOM 순회는 비용이 많이 드는 작업입니다. 일반적인 접근 방식은 상위 요소를 캐시하고 하위 요소를 선택할 때 이러한 캐시된 요소를 재사용하는 것입니다.
// 이런
변수
$컨테이너 = $('#컨테이너'),
$containerLi = $('#컨테이너 li'),
$containerLiSpan = $('#컨테이너 리 스팬');
// 제안(효율적)
변수
$컨테이너 = $('#컨테이너 '),
$containerLi = $container.find('li'),
$containerLiSpan= $containerLi.find('span');
범용 선택자를 피하세요
범용 선택자를 하위 선택자에 넣으면 성능이 형편없습니다.
// 이런
$('.container > *'); //제안
$('.container').children();
암시적인 범용 선택자를 피하세요 범용 선택자는 때때로 암시적이어서 찾기가 어렵습니다.
$('.someclass :라디오'); //제안
$('.someclass 입력:라디오');
예를 들어 ID 선택기는 고유해야 하므로 추가 선택기를 추가할 필요가 없습니다.
$('div#footer a.myLink');
//제안
$('#myid');
$('#footer .myLink');
여기서 ID 선택자는 고유해야 하며 추가 선택자를 추가할 필요가 없으며 여러 하위 ID 선택자가 필요하지 않다는 점을 강조합니다.
//제안
$('#내부');
일반적으로 새 버전이 더 좋습니다. 더 가볍고, 더 효율적이며, 더 많은 메서드가 포함되고, jQuery 메서드가 더 포괄적으로 적용됩니다. 당연히 지원하려는 코드의 호환성을 고려해야 합니다. 예를 들어 프로젝트가 HTML5/CSS3을 잘 지원하여 실행되나요 필요한 경우 JSLite와 javascript 네이티브 코드 결합
위에서 언급했듯이 JSLite는 자바스크립트입니다. 즉, JSLite로 할 수 있는 모든 작업을 네이티브 코드로도 할 수 있다는 뜻입니다. 네이티브 코드는 JSLite만큼 읽기 쉽고 유지 관리가 어려울 수 있으며 코드가 더 길어질 수 있습니다. 그러나 이는 또한 더 효율적이라는 것을 의미합니다. 일반적으로 기본 코드에 가까울수록 가독성이 낮을수록 성능이 높아집니다. 예를 들어 조립에는 물론 더 강력한 인력이 필요합니다. 어떠한 프레임워크도 네이티브 코드보다 더 작고, 가벼우며, 더 효율적일 수 없다는 점을 명심하세요(참고: 테스트 링크는 더 이상 유효하지 않습니다. 온라인에서 테스트 코드를 검색할 수 있습니다).
최종 조언마지막으로 JSLite의 성능 향상과 기타 좋은 제안을 목적으로 이 글을 기록합니다. 이 주제를 더 깊이 탐구하고 싶다면 많은 재미를 발견할 것입니다. JSLite는 필수가 아니라 옵션일 뿐이라는 점을 기억하세요. 왜 그것을 사용하고 싶은지 생각해보십시오. DOM 조작? 아약스? 원판? CSS 애니메이션? 아니면 선택자? 무거운 jQuery 개발자?

JavaScript는 1995 년에 시작하여 Brandon Ike에 의해 만들어졌으며 언어를 C로 실현했습니다. 1.C Language는 JavaScript의 고성능 및 시스템 수준 프로그래밍 기능을 제공합니다. 2. JavaScript의 메모리 관리 및 성능 최적화는 C 언어에 의존합니다. 3. C 언어의 크로스 플랫폼 기능은 자바 스크립트가 다른 운영 체제에서 효율적으로 실행하는 데 도움이됩니다.

JavaScript는 브라우저 및 Node.js 환경에서 실행되며 JavaScript 엔진을 사용하여 코드를 구문 분석하고 실행합니다. 1) 구문 분석 단계에서 초록 구문 트리 (AST)를 생성합니다. 2) 컴파일 단계에서 AST를 바이트 코드 또는 기계 코드로 변환합니다. 3) 실행 단계에서 컴파일 된 코드를 실행하십시오.

Python 및 JavaScript의 미래 추세에는 다음이 포함됩니다. 1. Python은 과학 컴퓨팅 분야에서의 위치를 통합하고 AI, 2. JavaScript는 웹 기술의 개발을 촉진하고, 3. 교차 플랫폼 개발이 핫한 주제가되고 4. 성능 최적화가 중점을 둘 것입니다. 둘 다 해당 분야에서 응용 프로그램 시나리오를 계속 확장하고 성능이 더 많은 혁신을 일으킬 것입니다.

개발 환경에서 Python과 JavaScript의 선택이 모두 중요합니다. 1) Python의 개발 환경에는 Pycharm, Jupyternotebook 및 Anaconda가 포함되어 있으며 데이터 과학 및 빠른 프로토 타이핑에 적합합니다. 2) JavaScript의 개발 환경에는 Node.js, VScode 및 Webpack이 포함되어 있으며 프론트 엔드 및 백엔드 개발에 적합합니다. 프로젝트 요구에 따라 올바른 도구를 선택하면 개발 효율성과 프로젝트 성공률이 향상 될 수 있습니다.

예, JavaScript의 엔진 코어는 C로 작성되었습니다. 1) C 언어는 효율적인 성능과 기본 제어를 제공하며, 이는 JavaScript 엔진 개발에 적합합니다. 2) V8 엔진을 예를 들어, 핵심은 C로 작성되며 C의 효율성 및 객체 지향적 특성을 결합하여 C로 작성됩니다.

JavaScript는 웹 페이지의 상호 작용과 역학을 향상시키기 때문에 현대 웹 사이트의 핵심입니다. 1) 페이지를 새로 고치지 않고 콘텐츠를 변경할 수 있습니다. 2) Domapi를 통해 웹 페이지 조작, 3) 애니메이션 및 드래그 앤 드롭과 같은 복잡한 대화식 효과를 지원합니다. 4) 성능 및 모범 사례를 최적화하여 사용자 경험을 향상시킵니다.

C 및 JavaScript는 WebAssembly를 통한 상호 운용성을 달성합니다. 1) C 코드는 WebAssembly 모듈로 컴파일되어 컴퓨팅 전력을 향상시키기 위해 JavaScript 환경에 도입됩니다. 2) 게임 개발에서 C는 물리 엔진 및 그래픽 렌더링을 처리하며 JavaScript는 게임 로직 및 사용자 인터페이스를 담당합니다.

JavaScript는 웹 사이트, 모바일 응용 프로그램, 데스크탑 응용 프로그램 및 서버 측 프로그래밍에서 널리 사용됩니다. 1) 웹 사이트 개발에서 JavaScript는 HTML 및 CSS와 함께 DOM을 운영하여 동적 효과를 달성하고 jQuery 및 React와 같은 프레임 워크를 지원합니다. 2) 반응 및 이온 성을 통해 JavaScript는 크로스 플랫폼 모바일 애플리케이션을 개발하는 데 사용됩니다. 3) 전자 프레임 워크를 사용하면 JavaScript가 데스크탑 애플리케이션을 구축 할 수 있습니다. 4) node.js는 JavaScript가 서버 측에서 실행되도록하고 동시 요청이 높은 높은 요청을 지원합니다.


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

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

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

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