프로토타입을 사용하지 않는 메서드는 클래스의 정적 메서드와 동일합니다. 반대로 프로토타입을 사용하는 메서드는 클래스의 인스턴스 메서드와 동일합니다. 두 가지 방법? 프로토타입을 사용하거나 사용하지 않는 것은 무엇을 합니까?
테스트 코드:
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!