js原型有哪几种
js的原型分为两种:显示原型( prototype )跟隐式原型(__proto__);
显示原型 : 每个函数在声明时,都会自动创建一个显示原型,默认指向一个空Object对象(即原型对象);
隐式原型 : 每个实例对象在创建时,也会自动创建一个隐式原型(__proto__),实例对象隐式原型的值 == 构造函数显示原型的值
js原型函数和成员函数区别
计算机中的成员函数描述的是类的行为,是程序算法的实现部分,是对封装的数据进行操作的方法。
它的具体定义:成员函数的原型要写在类体中,原型说明了函数的参数表和返回值类型。而函数的定义一般在类外面,也可以直接在类内部定义。
前者与普通函数不同的是,实现成员函数时要指明类的名称,具体形式为:返回值类型 类名 ::函数成员名(参数表){函数体};而后者一般为一些短小的函数(5行以内),也就是内联函数。具体的所属关系如下:各类函数中:构造函数、析构函数、拷贝初始化构造函数等是类的成员函数。class A{public:void B()
;private:int C()
;protected:bool D(int i);};那么,B(),C(),D(int)都是A的成员函数
原型链的理解
原型链(JS原型与原型链继承) 实例对象与原型之间的连接,叫做原型链。proto( 隐式连接 ) JS在创建对象的时候,都有一个叫做proto的内置属性,用于指向创建它的函数对象的原型对象prototype。
什么是原型和原型链
原型:每一个对象都与另一个对象相关联,那个关联的对象就称为原型。
例如:函数Person有一个属性prototype,指向一个对象,对于普通函数来说没多意义,对于构造函数就有作用了,当使用new操作符时,会把Person.prototype(原型对象)赋值给实例的__proto__(原型实例)属性。
原型链:每一个对象,都有一个原型对象与之关联,这个原型对象它也是一个普通对象,这个普通对象也有自己的原型对象,这样层层递进,就形成了一个链条,这个链条就是原型链。
通过原型链可以实现JS的继承,把父类的原型对象赋值给子类的原型,这样子类实例就可以访问父类原型上的方法了。
1、原型是一个对象,是函数的一个属性prototype;通过该函数实例化出来的对象都可以继承得到原型上的所有属性和方法。
2、原型链:(1)对象的创建(2)对象的组织结构(3)对象访问成员的规定。在JavaScript中万物都是对象,对象和对象之间并不是独立存在的,对象和对象之间有一定关系。
原型是一个对象,是函数的一个属性prototype;通过该函数实例化出来的对象都可以继承得到原型上的所有属性和方法。原型对象默认有一个属性constructor ,值为对应的构造函数;另外,有一个属性__proto__,值为Object.prototype。
原型链就是对象通过__proto__向当前实例所属类的原型上查找属性或方法的机制,如果找到Object的原型上还是没有找到想要的属性或者是方法则查找结束,最终会返回undefined。
还没有评论,来说两句吧...