javascript prototype 원형 조작 노트
3162 단어 자바 script프로 토 타 입 원형
//var People={name:"xiong",age:15};
//var Person=function(user,age){
// this.name=user;
// this.age=age;
// this.say=function(){alert("I am "+this.name+"
"+this.age);}
//}
//var Chairman=function(name,salary){
// Person.call(this,name);
// }
//var Bill=new Person("Bill",15);
//var Hu=new Chairman("Hu Jintao");
//Person.prototype.eat=function(){
// alert("I'm eating");
// }
//Bill.eat();
function Person(name) //
{
this.name = name;
};
Person.prototype.SayHello = function() // prototype
{
alert("Hello, I'm " + this.name);
};
function Employee(name, salary) //
{
Person.call(this, name); //
this.salary = salary;
};
function Xiong(name,age){
Employee.call(this,name);
}
Employee.prototype = new Person(); // ,
Xiong.prototype=new Employee();
Employee.prototype.ShowMeTheMoney = function() // prototype
{
alert(this.name + " $" + this.salary);
};
var BillGates = new Person("Bill Gates"); // Person BillGates
var SteveJobs = new Employee("Steve Jobs", 1234); // Employee SteveJobs
var hiakuotiankong=new Xiong(" ");
var benbenxiong=new Xiong(" ");
// BillGates.SayHello(); // prototype
// hiakuotiankong.SayHello(); // prototype , !
benbenxiong.SayHello=function(){ // SayHello
alert("haha,I'm"+this.name);
}
benbenxiong.SayHello();
// SteveJobs.ShowMeTheMoney(); // prototype
// alert(BillGates.SayHello == SteveJobs.SayHello); // :true, prototype
Xiong.prototype.Goodbye=function(){
alert(this.name+"Bye-bye");
}
benbenxiong.Goodbye();
JavaScript 에서 prototype 은 대상 에 게 자신의 부 를 공유 할 수 있 을 뿐만 아니 라 prototype 은 조상 에 게 뿌리 를 내 리 는 천성 도 있어 선배 들 의 유산 을 대대로 물 려 줄 수 있다.한 대상 에 게 서 속성 이나 호출 방법 을 읽 을 때 이 대상 자체 에 이러한 속성 이나 방법 이 존재 하지 않 으 면 자신 과 관련 된 prototype 대상 에 게 가서 찾 습 니 다.프로 토 타 입 이 없 으 면 프로 토 타 입 자신 과 관련 된 선배 프로 토 타 입 을 찾 거나 트 레이스 과정 이 끝 날 때 까지 찾 아 본다.JavaScript 내부 에서 대상 의 속성 과 방법 트 레이스 체 제 는 이른바 prototype 체인 을 통 해 이 루어 집 니 다.new 연산 자 로 대상 을 구성 할 때 도 구조 함수 의 prototype 대상 을 새로 만 든 대상 에 게 할당 하여 이 대상 에 내 장 된 원형 대상 이 됩 니 다.대상 에 내 장 된 원형 대상 은 외부 에서 볼 수 없 을 것 입 니 다.비록 일부 브 라 우 저(예 를 들 어 Firefox)는 내 장 된 원형 대상 을 방문 할 수 있 지만 이렇게 하 는 것 을 권장 하지 않 습 니 다.내 장 된 원형 대상 자체 도 대상 이 고 자신 과 관련 된 원형 대상 도 있어 이른바 원형 체인 이 형성 되 었 다.프로 토 타 입 체인 의 맨 끝 에 Object 구조 함수 prototype 속성 이 가리 키 는 프로 토 타 입 대상 입 니 다.이 원형 대상 은 모든 대상 의 가장 오래된 조상 이다.이 조상 은 toString 등 모든 대상 이 천성적으로 가 져 야 할 방법 을 실현 했다.다른 내장 구조 함수,예 를 들 어 Function,Boolean,String,Date 와 RegExp 등 prototype 은 모두 이 선조 로부터 전승 되 었 으 나 그들 은 각자 자신의 속성 과 방법 을 정의 하여 그들의 자손 들 은 각자 종족 의 특징 을 나 타 냈 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Thymeleaf 의 일반 양식 제출 과 AJAX 제출텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.