2011-04-23 4 views
14


어떻게 프로토 타입 jQuery를 의미 궁금 해서요? 나는 일반적으로 "프로토 타입"에 대한 정보를 - 프레임 워크 - 그러나 여기에 jQuery 내부의 "프로토 타입"... 찾을 수 있습니까? 사용하는 것이 가장 좋은시기를 말씀해 주시겠습니까?jQuery에서 "prototype"fn? + jquery 함수 안에 일반 자바 스크립트 코드?

또한, 당신은 내게 말할 수 : 왜 우리는이 예에서와 같이, 대신 jQuery 코드의하는 jQuery 플러그인 내부에 "일반 자바 스크립트"코드를 사용합니까? 신속한 문제입니까?

여기 내 예제 : (트위터위한 플러그인) 귀하의 답변

감사합니다!

$.each(data, function(i, item) { 
    holder.append("<p>"+item.text.makeLinks()+"</p>"); 
}); 
//...further in the code 
String.prototype.makeLinks = function() { 
    return this.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/, function(str) { 
        return str.link(str); 
    }); 
}; 

답변

42

나는 "프로토 타입"jQuery를

프로토 타입라는 자바 스크립트 라이브러리는 JavaScript prototype에서 그 이름을 따

에 무엇을 의미하는지 궁금했다. JavaScript에서 prototype은 상속을 제공하는 메커니즘입니다 (예 : 클래스와 반대). 예 : String.prototype는 (다른 것들 중에서) 어느 String 호출 할 수있는 방법을 포함 String S prototype의 객체를 의미한다. 귀하의 질문의 예에서

가, 트위터 플러그인 함수 호출을 허용 makeLinks라는 String.prototype에 새로운 기능을 생성 등 : text 문자열입니다

text.makeLinks() 

. 프로토 타입에

더 읽기 :


,536,

jQuery 코드 대신 jQuery 플러그인에서 "일반 자바 스크립트"코드를 사용하는 이유는 무엇입니까?

jQuery를 자바 스크립트를 대체하지 않습니다. 이 라이브러리는 자바 스크립트 라이브러리로, 그렇지 않으면 DOM API를 사용해야하는 JavaScript를 작성하기가 쉽습니다. 정말 JS가하는 일을 할 수있는 더 좋은 방법이 없기 때문에 당신은 jQuery 플러그인에서 "바닐라"자바 스크립트를 참조하십시오.

jQuery를 자바 스크립트입니다. 브라우저 간 일관성을 유지하는 더 간단한 API를 제공하여 다른 JavaScript 작성을 단순화합니다. 다양한 브라우저 공급 업체가 인 대부분 인 DOM API를 만들었으므로 동일한 것은 아니지만 DOM의 경우는 아닙니다.

Quirksmode은 (CSS와 JavaScript에서) 이러한 불일치를 문서화하는 데 널리 사용되는 사이트입니다.


웹 개발에 오신 것을 환영합니다!

+0

니스! 덕분에 많이, 지금은 이해가 – Paul

+0

+1 나도 도와 줘, 매트 감사합니다! :-) – fiberOptics

11

프로토 타입은 순수한 자바 스크립트 기능입니다.

이미 정의 된 객체에 속성 또는 메서드를 추가하는 데 사용됩니다 (확장과 다소 비슷 함). 예 :

function myCustomObject(){ 
} 

myCustomObject.prototype.myCustomAttr = "Hello"; 

var instance = new myCustomObject(); 

alert(instance.myCustomAttr); // alerts Hello 
+0

http://jsfiddle.net/a2bEA/ –