欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

js中的原型分析介绍

程序员文章站 2023-10-31 09:30:22
原型: 1.原型是个什么玩意儿:在构造函数创建出来的时候,会默认的帮构造函数创建并联一个神秘的函数。 原型默认的是一个空的对象 2.原型可以用来干什么:原型中的属性和方法 可以被使用该构造函数创建出...

原型:

1.原型是个什么玩意儿:在构造函数创建出来的时候,会默认的帮构造函数创建并联一个神秘的函数。 原型默认的是一个空的对象

2.原型可以用来干什么:原型中的属性和方法 可以被使用该构造函数创建出来的对象使用

3.如何访问构造函数的原型:

构造函数.prototype

4如何给原型函数添加属性和方法

person.prototype.属性=属性值

1.自己和原型都有同一个属性,以自己的属性优先

6.prototype是构造函数的属性,跟对象没有关系

使用原型注意事项:

1.使用对象访问属性的时候,如果在本身内找不到就会去原型中找,但是使用点语法进行属性赋值的时候,并不会去原型中进行查找。使用点语法赋值的时候,如果对象中不存在该属性,就会给该对象新增该属性

2.如果在原型中的属性是引用类型的,那么 所有的对象共享该属性,并且一个对象修改了该引用类型属性的成员,所有对象都会被修改。

3.一般情况下不会将属性放到原型对象中,一般情况下原型中只会放需要共享的方法

如何访问原型:

1、通过构造函数访问原型

person.prototype;

2、通过对象访问原型

__proto__属性 是一个非标准的属性

p.__proto__; 不推荐使用

主要用来做调试

4.只有设置属性的操作,才不会去管原型中到底有没有该属性,只会在当前对象中找该属性,如果有 修改 如果没有 新增

5.原型对象在创建出来的时候,会默认的有一个constructor指向对应的构造函数 personprototype.constructor

6.在使用新的对象替换默认的原型对象之后 原型对象中的constructor属性会变成object 为了保证整个 构造函数--原型--对象之间的关系的合理性 应做如下操作:在替换原型对象的时候,在新的原型对象中手动添加constructor属性

function person(){

}

person. prototype={

costructor:person

};

console.log(person.prototype.constructor);