1) JS에서는 객체에 대해 세 가지 유형의 메소드를 정의할 수 있습니다. Java와 유사하게 프라이빗 메소드, 인스턴스 메소드, 클래스 메소드입니다.
프라이빗 메소드는 객체 내부에서만 사용할 수 있습니다.
인스턴스 메소드는 객체가 생성된 후에 사용해야 합니다. 인스턴스화됨
클래스 메소드는 클래스 이름을 통해 직접 사용할 수 있습니다
참고: 위에서 언급한 인덱스 메소드를 통해서는 메소드 정의를 수행할 수 없습니다.
2) 프라이빗 메서드 정의
프라이빗 메서드는 생성자 본문 내에서 정의해야 하며 생성자 본문 내에서만 사용할 수 있습니다.
구문 형식: function methodName(arg1,…,argN){ }
예:
function User(name){ this.name=name; function getNameLength(nameStr){ return nameStr.length; } this.nameLength=getNameLength(this.name); }
3) 현재 인스턴스 메서드를 정의하는 방법에는 두 가지가 있습니다.
prototype 메서드, 생성자 외부에서 사용, 구문 형식:
functionName.prototype.methodName=method;
또는
functionName.prototype.methodName=function(arg1,…,argN){};
이 메서드, 생성자 내부에서 사용됨, 구문 형식:
this .methodName =method;
or
this.methodName=function(arg1,...,argN){};
위 구문 설명에서 method는 이미 존재하는 외부 메서드이고 methodName은 객체의 메서드입니다. 정의한다는 것은 객체의 메소드에 직접 외부 메소드를 할당하는 것을 의미합니다.
function(arg1,…,argN){} 형식으로 객체 메서드를 정의하는 것은 개발자가 마스터해야 하는 것입니다.
인스턴스 메서드 정의의 몇 가지 예: 예 1
function User(name){ this.name=name; this.getName=getUserName; this.setName=setUserName; } function getUserName(){ return this.name; } Function setUserName(name){ this.name=name; }
인스턴스 메서드 정의의 몇 가지 예: 예 2
function User(name){ this.name=name; this.getName=function(){ return this.name; }; this.setName=function(newName){ this.name=newName; }; }
인스턴스 메서드 정의의 몇 가지 예: 예 3
function User(name){ this.name=name; } User.prototype.getName=getUserName; User.prototype.setName=setUserName(); function getUserName(){ return this.name; } Function setUserName(name){ this.name=name; }
인스턴스 메서드 정의의 몇 가지 예: 예 4
4 ) 클래스 메서드 정의
클래스 메서드는 생성자 외부에서 정의해야 하며 생성자 이름을 통해 직접 참조할 수 있습니다.
구문 형식:
functionName.methodName=method;
또는
functionName.methodName=function(arg1,…,argN){};
예:
function User(name){ this.name=name; } User.getMaxAge=getUserMaxAge; function getUserMaxAge(){ return 200; }
또는
User.getMaxAge=function(){return 200;}; alert(User.getMaxAge());
위 내용은 자바스크립트 사용자 정의 개체에 대한 세 가지 유형의 메소드 코드에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!