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


좋은 웹페이지 즐겨찾기