JavaScript에서 생성자에 직접 정의된 메서드와 속성은 정적이지만 생성자의 프로토타입과 인스턴스에 정의된 메서드와 속성은 비정적입니다. 정적 메서드는 주로 정적 속성을 조작하는 데 사용되며 "클래스 이름.property=function(){}"으로 정의할 수 있습니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.
function ClassA(){ //定义构造函数 }; ClassA.func = function(){ //在构造函数上添加一个属性(因为函数也是对象) console.log("This is a static method"); } var instance = new ClassA(); //新建一个实例 ClassA.func(); //This is a static method instance.func(); //Error:instance.func is not a function
함수가 정의되고 "."로 추가된 속성과 함수는 여전히 개체 자체를 통해 액세스할 수 있지만 해당 인스턴스에 액세스할 수 없는 경우 이러한 변수와 함수를 각각 정적 변수라고 합니다.
function Obj(){ } Obj.a=0; //静态变量 Obj.fn=function(){ //静态函数 } console.log(Obj.a); //0 console.log(typeof Obj.fn); //function var o=new Obj(); console.log(o.a); //undefined console.log(typeof o.fn); //undefined
정적 메서드는 인스턴스 개체에서 호출할 수 없으며 인스턴스 메서드는 생성된 개체에서 호출할 수 없습니다.
추천 학습: javascript 비디오 튜토리얼
위 내용은 JavaScript에서 정적 메소드를 정의하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!