나는 몇 번이자바 스크립트 코딩 차이
function class1(){
.....
class1.prototype.callme = function(){
alert("hai");
}
}
then I instantiate using (new class1()).callme();
같은 클래스를 생성하고 장점과 단점은 어떤 몸이 설명해 수 뭐죠 몇 번 나는 모듈 형 패턴
var class2 = (function(){
var privatemethod = function(){
....
}
var publicmethod = function(){
alert("am public");
}
return{
callme:publicmethod
}
})();
then I call class2.callme()
를 사용합니다.
왜 'prototype' _inside_ 생성자 함수에 속성 / 메소드를 만드시겠습니까? 첫 번째 예제에서'class1.prototype.callme'은 새로운 class1 인스턴스를 생성 할 때마다 덮어 쓰여지는데, 이는 비효율적입니다. 그리고 실제로'(new class1()). callme() '을 사용한다면 (즉,이 질문에 대한 단순화는 아닙니다) 전체 클래스는 다소 중복됩니다. – nnnnnn
그 예를 들어 보겠습니다.하지만 장점과 단점을 원합니다. –
첫 번째 패턴은 결코 좋은 계획이 아닙니다. 그것은 반 패턴입니다. 프로토 타입에서 메소드를 호출하기 위해 객체를 인스턴스화한다고해도 많은 도움이되지 않으며 두 번째 패턴이 항상 더 좋을 것입니다. 실제로 class1의 개별 인스턴스로 무언가를 실제로하면 두 번째 예제와 다른 목적을 수행하지만보다 현실적인 예제를 제공하지 않으면 두 인스턴스를 비교하는 것이 어렵습니다. – nnnnnn