对JsOOP程序设计对象的全面理解
对象的意义
物体可以是汽车、人、动物、单词、形式或任何存在的东西,等等。
对象是:
属性----某些对象的特定属性。
方式----对象可以做什么。
事件——可以对对象上发生的事件作出响应。
我们可以通过创建一个人的对象来理解一个对象的对象。
人:
两只手,两只脚,一个脑袋,可以跑。
手,脚,头,是人的本性,跑步是人的方法。
首先,让我们以最简单的方式创建一个对象
var
头:一
手:
英尺:
运行:函数(){
console.log(运行);
}
}
这种方法根本不实用,因为它创建了一个单独的对象,而这个对象与任何公共数据结构无关。
然后,我们以构造函数的方式创建一个对象。
函数(人员)
this.head =
this.hand =两
this.foot =两
this.run =函数(){
警报();
}
}
Var Joan =新人();
document.write(琼。运行)(运行) /
这是用构造函数创建的对象,然后添加一行代码来查看
Var Niki =新的人();
警报(琼= =尼基) / /假;
是的,现在创建了两个不同的对象实例。
Javascript中的每个函数都有原型的属性。如果一个函数被用作构造函数,则该属性将由新调用自动创建,以创建对象的原型。
console.log(琼)
你可以看到有一个__proto__:人,在__proto__是琼的原型链。它是指向人的原型。
创建对象时,无论是普通的对象或函数对象,JS有一个内置的属性称为__proto__,用来指向原型对象的原型创建的函数对象。
一些对原型链的了解非常详细,在javascript高级编程书中。有兴趣的可以去看看,也有pdf的互联网文档可以找到。但是建议买一本书,支持原创。
然后,对原型的原型属性的任何更改都可以应用于新的人()构造的每个实例对象,不管它是在更改之前还是之后创建的。添加新的功能,person.prototype。
函数(人员)
this.head =
this.hand =两
this.foot =两
}
person.prototype.run =函数(){
警报();
}
Var Joan =新人();
(琼,跑)
警报(琼。__proto__ = = =人。原型) / /真实
如您所见,原型中创建的方法可以被调用,而原型链则指向原型。
再看看。
Var Niki =新的(人); / /运行
person.prototype.run =函数(){
警报(运行)
}
Joan.run(运行) / /运行
Niki.run(运行) / /运行
看,修改人的原型方法,新对象()创建的对象实例中的所有方法都被修改,因为所有实例都使用相同的原型方法运行。这是原型的应用程序。
这是对创建对象的一些理解。
已经写了很长时间了。我不知道是否有错误。如果有错误,欢迎你的建议。
下一次编写面向对象的继承。
以上就是对全面内容的一些全面的了解,由你编写的js OOP程序,希望你能支持得更多。