>  기사  >  웹 프론트엔드  >  javascript_javascript 기술에서 new 사용

javascript_javascript 기술에서 new 사용

WBOY
WBOY원래의
2016-05-16 18:31:541043검색

그래서 자바스크립트에는 클래스라는 개념이 없습니다. 독자가 더 쉽게 이해할 수 있도록 많은 JavaScript 튜토리얼에서는 일반적으로 사용되는 클래스 패턴의 개념을 적용하므로 모든 사람에게 모호함을 야기합니다.
코드의 첫 번째 부분,

코드 복사 코드는 다음과 같습니다.

함수 직원(){
this.name="";
this.dept="";
}
employee.prototype={
말:'안녕하세요'
}
var p = new Employee();

이 코드를 자주 사용하게 되는데 new 키워드가 가장 헷갈립니다. 여기서 new가 수행하는 작업은 .NET의 작업과 다릅니다.
JavaScript에서 new 연산을 사용하여 인스턴스를 생성하는 과정을 이런 식으로 이해할 수 있습니다. new 키워드는 직원 생성자의 멤버 변수를 복사하는 Employee()를 템플릿으로 사용하여 새 객체를 생성합니다. p 개체가 생성자에 매개 변수로 전달되고 함수의 모든 멤버 변수가 적용되며 생성자의 프로토타입이 상속되는 것으로 이해됩니다.
우리는 코드를 사용하여 새로운 프로세스를 시뮬레이션합니다.
코드 복사 코드는 다음과 같습니다.

//var p = new Object()
var p ={};
employee.apply(p);
p.__proto__ = Employee.prototype;
__proto__는 javascript 객체 인스턴스 생성자의 프로토타입 속성, 즉 직원을 가리킵니다. 객체가 p.say와 같은 멤버 변수를 찾을 때 먼저 자체 멤버 속성을 찾으면 반환합니다. 값을 찾을 수 없으면 __proto__를 호출하여 프로토타입을 확인합니다. 현재 예인 Chain은 Employee.prototype에서 say 멤버를 찾는 것입니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.