>  기사  >  웹 프론트엔드  >  JS 재작성 프로토타입 객체에 대한 자세한 설명

JS 재작성 프로토타입 객체에 대한 자세한 설명

亚连
亚连원래의
2018-05-17 10:10:362085검색

JS프로토타입 수정 및 재작성

js 프로토타입을 수정하는 방법에는 두 가지가 있습니다.

1 원본 프로토타입에 속성 및 메서드를 추가합니다object: 12

function Person(){
            }
            Person.prototype.name="Mike";
            Person.prototype.sayName=function(){
                console.log(this.name);
            }            var person=
new
 Person();
            person.sayName(); //Mike123456789

2. the 프로토타입 개체: 12

  function Person(){
            }
            Person.prototype={                "name":"Mike",
                sayName:function(){
                    console.log(this.name);
                }
            }            var person=new Person();
            person.sayName(); //Mike1234567891011

다음으로 질문을 살펴보겠습니다. (이 질문은 프로토타입 개체에 직접 속성과 메서드를 추가하는 것과 프로토타입 개체를 덮어쓰거나 덮어쓰는 것의 차이점도 설명합니다.) 12
         

function Person(){
            }            function Animal(){
            }            var person=new Person();            var animal=new Animal();
            Person.prototype={                "name":"Mike",
                sayName:function(){
                    console.log(this.name);
                }
            }
            Animal.prototype.name="animal";
            Animal.prototype.sayName=function(){
                console.log(this.name);
            }
            person.sayName(); //error person.sayName is not a function
            animal.sayName();//animal1234567891011121314151617181920
 分析:12
            function Person(){
            }            function Animal(){
            }            var person=new Person();            var animal=new Animal();
            console.log(person.
proto
===Person.prototype); //true
            console.log(animal.proto===Animal.prototype); //true
            Person.prototype={                "name":"Mike",
                sayName:function(){
                    console.log(this.name);
                }
            }
            Animal.prototype.name="animal";
            Animal.prototype.sayName=function(){
                console.log(this.name);
            }
            console.log(person.proto===Person.prototype); //false
            console.log(animal.proto===Animal.prototype); //true
            person.sayName(); //error person.sayName is not a function
            animal.sayName();//animal

위는 다음과 같습니다. 모든 사람을 위해 컴파일한 JS 재작성 프로토타입 객체가 앞으로 모든 사람에게 도움이 되기를 바랍니다.

관련 기사:

js 메소드 재작성 및 오버로딩 기법에 대한 자세한 설명

JavaScript에서 Alert() 메소드 재작성 기법 분석을 중심으로

js 상속에서 메소드 재작성에 대한 주요 설명

위 내용은 JS 재작성 프로토타입 객체에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.