JavaScript 原型列prototype

prototype属性

prototype属性使得js能够实现继承的效果

js中的对象

js中的一个方法, 也是js中的一个对象, 就像是java里边的类

比如

function user(age, sex){
    this.name = "张三":
    this.age = age;
    this.sex = sex;
    this.eat = function() {
        alert("我是user中的吃的方法");
    }
}

我们可以说, 这是js中的一个类, 也可以说, 这是js中的一个方法.

灵活的js对象

js的对象非常灵活, 就像js的数组一样, 可以随意的增添一些属性

// 我新建了一个对象
user u = new user(10, "男");

// 这个user类中没有身高的属性, 我可以给他添上.
u.height = 165;

// 注意, 此时添加上的只是在js对象中的添加, 不是js类中的添加. js类中, 依旧没有身高的属性.

使用prototype实现继承

可以看到, js的简单灵活一目了然, 但是, 他怎么实现继承的呢?实际上, 他就是通过prototype属性来实现的.

prototype中, 所有的属性会被继承下来

// 新建一个类
function user2() {
    this.run = function() {
        alert("我是user2中的跑的方法");
    }
}

// 使user继承user2
user.prototype = new user2();

// 此时, user类就继承了user2
var us = new user(12, "男");
us.run();
上一篇:机器学习(六)推荐引擎之构建电影推荐引擎


下一篇:你了解Spring事务传播行为吗?多个方法之间调用事务如何传播?