js 대상 - 대상 만들기
1417 단어 대상을 향하다
공장 모델
플랜트 모드에서는 함수에 객체(원재료)를 작성한 다음 객체에 속성과 메서드(가공)를 추가하여 객체(출하)를 반환합니다.
// 1.
function createPerson(name,age,job) {
//1.
var o = new Object();
//2.
o.name = name;
o.age = age;
o.job = job;
o.sayName = function() {
alert(this.name);
};
//3.
return o;
}
var yoomin = createPerson('yoomin',24,'programmer'); // , new
구조 함수 모드
구조 함수는this에 속성과 방법을 추가하여 new에 대상을 되돌려줍니다. 구조 함수 자체는 되돌려주는 값이 없습니다.
// 2.
function Person(name,age,job) {
this.name = name;
this.age = age;
this.job = job;
this.sayAge = function() {
alert(this.age);
}
}
var Jay = new Person('Jay',30,'singer'); //
구조 함수 방식과 원형 방식 조합
구조 함수를 사용하여 속성을 정의하고 메소드 및 공유 변수를 원형으로 정의합니다.
구조 함수 정의 속성:
function Person(name,age,job) {
//
this.name = name;
this.age = age;
this.job = job;
}
프로토타입 정의 방법:
Person.prototype = {
//
constructor: Person, // constructor,
sayName:function() {
alert(this.name);
},
sayJob:function() {
alert(this.job);
}
}
주의:prototype을 글꼴 양으로 정의하면prototype의constructor 지향을 변경할 수 있습니다. 수정이 필요합니다.
객체를 만들려면 다음과 같이 하십시오.
var Kelly = new Person('Kelly',35,'singer'); //
Kelly.sayName(); //Kelly
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
루비 대상 지식 요약initialize 방법은 표준적인 루비 클래스 방법으로 클래스의 구조 함수이며 다른 대상 프로그래밍 언어의constructor 작업 원리와 유사하다.대상을 만드는 동시에 클래스 변수를 초기화하려면 initializ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.