일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- NoSQL
- kafka
- GCM
- redis
- 레디스
- nginx
- 디자인패턴
- 웹사이트성능
- 성능
- Design Pattern
- git
- nginx설정
- 카프카 트랜잭션
- php
- 푸시 번역
- 푸시
- 카프카
- 웹사이트 성능
- Push
- JPA
- Java
- 페이스북 번역
- 웹사이트최적화기법
- APNS
- nginx설치
- gcm 푸시 번역
- GCM 번역
- notification
- 자바스크립트
Archives
- Today
- Total
간단한 개발관련 내용
jQuery 의 장점 및 JavaScript 를 사용할 때 더 나은 경우. 본문
반응형
1. jQuery 장점.
2. JavaScript 가 나은 경우.
- 최신 버전을 사용해라. (1.4 보다 1.6이 2배 가까이 빠르다)
- id 선택자가 class 선택자보다 5-10배 이상 빠르다.
- 가상 선택자는 느리니까 최대한 쓰지 말 것. 검색 영역의 모든 요소를 다 뒤진다!!
- 부모에서 자식을 찾는 방법은 $parent.find(‘.child’) 가 제일 빠르다. 다른 것은 잊어라. (근데 왜 children() 이 더 안빠르지..)
- jQuery 객체는 꼭 필요할 때에만 만들 것.
- 항상 캐싱할 것
- 체인 방식을 애용할 것. 이미 필터링된 집합을 이용하므로 빠르다. 코드도 간단해진다.
- bind, live 보다 delegate가 좋다!
- DOM insert/append 는 가급적 한번에 끝낼 것. 무거운 연산을 해야 할 경우 일단 detach 했다가 다시 넣으면 좋다.
- $.each() 는 느리니까 그냥 for 를 쓸 수 있으면 써라.
- $.method 보다 로레벨 함수인 $.fn.method 가 빠르다.
2. JavaScript 가 나은 경우.
jQuery |
JavaScript |
$(document).ready(function(){ // code.. }); |
document.addEventListener("DOMContentLoaded", function(){ // code ... }); |
var divs = $("div"); |
var divs = document.querySelectorAll("div"); |
var newDiv = $("<div/>"); |
var newDiv = document.createElement("div"); |
newDiv.addClass("foo"); |
newDiv.classList.add("foo"); |
newDiv.toggleClass("foo"); |
newDiv.classList.toggle("foo"); |
$("a").click(function() { // code…
}) |
[].forEach.call(document.querySelectorAll("a"), function(el) { el.addEventListener("click", function() {
// code…
});
}); |
$("body").append($("<p/>")); |
document.body. |
$("img").filter(":first"). |
document.querySelector("img"). |
var parent = $("#about").parent(); |
var parent = document.getElementById("about").parentNode; |
$("#wrap").empty(); |
var wrap = document.getElementById("wrap");
while(wrap.firstChild) wrap.removeChild(wrap.firstChild); |
if($("#wrap").is(":empty")) |
if(!document.getElementById("wrap").hasChildNodes()) |
var nextElement = $("#wrap").next(); |
var nextElement = document.getElementById("wrap").nextSibling; |
반응형