>  기사  >  웹 프론트엔드  >  프로토타입을 사용하는 자바스크립트와 사용하지 않는 자바스크립트의 차이점에 대한 코드 예제에 대한 자세한 설명

프로토타입을 사용하는 자바스크립트와 사용하지 않는 자바스크립트의 차이점에 대한 코드 예제에 대한 자세한 설명

伊谢尔伦
伊谢尔伦원래의
2017-07-27 13:34:191273검색

프로토타입을 사용하지 않는 메서드는 클래스의 정적 메서드와 동일합니다. 반대로 프로토타입을 사용하는 메서드는 클래스의 인스턴스 메서드와 동일합니다. 두 가지 방법? 프로토타입을 사용하거나 사용하지 않는 것은 무엇을 합니까?

테스트 코드:

function ListCommon2(first,second,third) 
{ 
this.First=function () 
{ 
alert("first do"+first); 
} 
} 
ListCommon2.do1=function(first) 
{ 
// this.First(); 
alert("first do"+first); 
} 
ListCommon2.prototype.do2=function(first) 
{ 
// this.First(); 
alert("first do"+first); 
}

테스트 결과 프로토타입이 없는 메서드는 클래스의 정적 메서드와 동일하므로 ListCommon2.do1("끓는 물 1");, 이렇게 호출하면 t1 .do1(); 오류가 발생합니다.


반대로 프로토타입을 사용한 메소드는 클래스의 인스턴스 메소드와 동일하며 new가 허용되지 않은 이후에만 사용할 수 있습니다. ("물 끓이기 1"); 오류가 발생합니다

결론적으로 프로토타입에서 정의한 메소드를 사용하세요. 클래스의 인스턴스 메소드와 동일하며 반드시 new 이후에 사용해야 합니다. 함수는 클래스의 인스턴스 메서드에 대한 제한 사항과 유사합니다. 프로토타입 정의를 사용하지 않는 메서드를 사용하는 것은 클래스의 정적 메서드와 동일하며 new가 필요하지 않으며 함수에 대한 제한 사항도 있습니다. 함수에서 호출할 수 있는 클래스의 정적 메서드에 대한 제한 사항과 유사합니다

예를 들어 this.First();
을 호출할 수 없습니다.

위 내용은 프로토타입을 사용하는 자바스크립트와 사용하지 않는 자바스크립트의 차이점에 대한 코드 예제에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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