美文网首页让前端飞
JavaScript原型对象(一)

JavaScript原型对象(一)

作者: 咖喱不爱吃素 | 来源:发表于2017-08-19 10:32 被阅读0次

面向对象思想中,是将公共的、抽象的属性和方法提取出来,作为一个基类,子类继承这个基类,从而继承到这些属性和方法。Javascript函数是对象,每个函数都要非依赖的非继承自带的属性prototypeprototype是一个对象。而JavaScript中则可以通过prototype属性来实现类似的作用--定义所有实例对象共享的属性和方法。

function Person(name, gender) {
    this.name = name;
    this.gender = gender;
    this.sayHello = function() {
        console.log('Hello,I am', this.name, '. I\'m a', this.gender);
    };
}

var zs = new Person('zhang san', 'male'),
    xh = new Person('xiao hong', 'female');

zs.sayHello(); // Hello,I am zhang san . I'm a male
xh.sayHello(); // Hello,I am xiao hong . I'm a female

zs.sayHello === xh.sayHello;  // false

上述代码中,zs.sayHellxh.sayHello是两个独立的对象。

function Person(name, gender) {
    this.name = name;
    this.gender = gender;
}
Person.prototype.sayHello = function() {
    console.log('Hello,I am', this.name, '. I\'m a', this.gender);
};

var zs = new Person('zhang san', 'male'),
    xh = new Person('xiao hong', 'female');

zs.sayHello(); // Hello,I am zhang san . I'm a male
xh.sayHello(); // Hello,I am xiao hong . I'm a female

zs.sayHello === xh.sayHello;  // true

_proto_:指向当前对象的原型对象,也就是构造函数的prototype属性。

constructor:指向此prototype对象所在的构造函数,可以通过这个属性来判断这个对象是由哪个构造函数产生的.)

zsxh这两个通过Person构造函数产生的对象,是可访问到Personprototype属性的,所以我们定义在prototype下的sayHello方法,Person的实例对象都可以访问到。

参考链接
http://www.jianshu.com/p/1160d65ce3c3
http://javascript.ruanyifeng.com/oop/prototype.html#toc3

相关文章

  • 原型、原型链

    理解JavaScript原型 彻底理解JavaScript原型 原型 原型是一个对象,所有对象都可以成为原型,其...

  • 原型与原型链

    原型(prototype) 在JavaScript中,原型(prototype)也是一个对象,通过原型可以实现对象...

  • 原型与原型链

    原型(prototype) 在JavaScript中,原型(prototype)也是一个对象,通过原型可以实现对象...

  • JS原型链

    javaScript原型链 JavaScript所有对象都有原型,当对象有属性或方法调用的时候,对象就会从自身查找...

  • javascript碎片知识001

    javascript中的对象(原型,原型链) 什么是原型? 原型是JavaScript中的继承的基础,JavaSc...

  • Javascript-原型与原型链

    简单介绍 JavaScript 每个对象都拥有一个原型对象,对象以其原型为模板从原型中继承方法和属性; 原型对象也...

  • JS中的原型我们来搞懂它

    原型是什么? JavaScript对象可以从其他对象那里继承属性和行为,更具体的来说,JavaScript使用原型...

  • JavaScript面试考点之原型及原型链

    1、JavaScript原型及原型链 1)原型 JavaScript是一种基于原型的语言,即每一个对象拥有一个原型...

  • javascript原型的理解

    proto 原型指针在javascript当中,每个对象都拥有一个原型对象prototype,而指向其原型对象的指...

  • 原型与原型链

    JavaScript仍然大量地使用了对象,为了保证对象之间的联系,JavaScript引入了原型与原型链的概念。 ...

网友评论

    本文标题:JavaScript原型对象(一)

    本文链接:https://www.haomeiwen.com/subject/llxtdxtx.html