JavaScript,js培训班
您的位置: 主页 > web前端文章 > javascript >

js面向对象的代码【访问量:60】

人类是一个很好的分类。对象是对行为和数据进行分类的一种方式,使得大量的代码更易于设计和思考。事实上,面向对象的编程可以用许多语言来创建各种软件,并被认为是一种编写代码的好方法。 我们已经在JavaScript中查看了对象 - 它们是命名属性和方法的集合,并且可以使用对象字面值语法即时创建它们:

var user = {
    name: "tom",
    say: function (words) { alert(words); }
};

使用对象来保存数据的一个原因是有用的是,正如所提到的,人类的大脑非常擅长对事物进行分类:一条船; 一把椅子; 一只驼鹿。在代码中创建对象有助于您思考代码的不同部分如何适应和(希望)如何协同工作。 在大型应用程序中,您可能会有大量的对象互相交互。请记住,对象是属性(如名称)和方法(如说)的组合在一起?将数据和行为分组到一个实体称为封装。 使用对象构建应用程序时可以使用的强大工具称为继承。这是一个对象从另一个对象继承属性和方法的地方。对象可以改变它继承的属性和方法,也可以添加其他属性和方法。 因此,例如,您可以创建一个继承哺乳动物对象行为的驼鹿对象。例如,驼鹿可以改变哺乳动物的毛皮。然后,您可以创建一个穿山甲物体,它也是从哺乳动物中继承而来的。但是,当然,穿山甲不是毛茸茸的,它们可能具有不同的湿度属性。

对象如何继承?JavaScript使用原型继承。这意味着,当一个对象从另一个对象继承时,父对象被称为孩子的原型。 还有几件事要知道:每个对象都维护对其原型的引用,并且每个对象都从全局object对象继承。 当你要求一个对象的属性时,JavaScript会查找该对象的属性。如果它没有在那里找到它,它会跟随对象原型的链接并在那里寻找属性。它继续这个,直到原型链找到它,或者它返回undefined。 换句话说,一个对象通过维护一个到它想要继承的另一个对象的链接来继承属性和方法。多个对象可以从一个对象继承,但是一个对象不能从多个其他对象继承,尽管它可以继承自一个从另一个继承的对象。

在实践中有很多方法可以在JavaScript中实现继承。最常用的是构造函数模式。在此模式中,使用称为构造函数的函数来创建新对象。构造函数与new关键字结合使用来创建对象。 这是一个示例构造函数。注意Person上的大写字母- 这是一个重要的惯例。一般来说,在JavaScript中,如果它的首字母大写,它是一个构造函数,应该与new关键字一起使用。

var Person = function (name) {
    this.name = name;
};

现在您可以使用new关键字来创建Person对象:

var tom = new Person('tom');

这产生了一个像这样的对象:

{
    name: "Tom"
}

在构造函数模式中,通过向构造函数的prototype属性添加属性和方法手动创建新对象将从其继承的对象。喜欢这个:

Person.prototype.say = function (words) {
    alert(this.name + ' says "' + words + '"');
};

现在,从构造函数创建的对象将拥有该say方法。

var tom = new Person("tom");
tom.say("Hello");

//产生一个警报:tom说“你好”

这只是开始继承和面向对象编程是整个书籍所写的大而复杂的领域。如果你想知道更多,那里有一些很好的资源。

2018-04-03
匿名评论