65.9K
CodeProject 正在变化。 阅读更多。
Home

使用 JavaScript 中的对象进行编程

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.57/5 (12投票s)

2007年5月17日

CPOL

1分钟阅读

viewsIcon

19980

JavaScript 中的面向对象编程。

引言

JavaScript 支持继承。它能够支持面向对象编程,因为它通过原型以及属性和方法支持继承。

对象之所以能很好地工作,是因为它们就像现实生活中的对象一样——对象具有属性和方法。JavaScript 允许你为自己的应用程序创建自己的对象。使用你的对象,你可以在想要的时候触发事件的代码,并且代码被封装起来。它可以被初始化任意次数。

使用代码

在 JavaScript 中创建对象有几种方法,每种方法都有其用途。最简单的方法是使用 `new` 运算符,具体来说,`new Object()`。

<script language="javascript" type="text/javascript">
<!--

employee = new Object()
employee.id = "23975"
employee.name = "Sachin"

person.details = function() {
    alert("Employee Details: " + employee.id + "/" + employee.name)
}

//-->
</script>

上面的方法不允许我们重用对象。我们需要一种创建对象“类型”的方法,该方法可以多次使用,而无需每次都重新定义对象以满足每个特定实例的需求。为此,我们创建一个构造函数。

<script language="javascript" type="text/javascript">
<!--

function employee(id,name) {
    this.id = id;
    this.name = name;
    this.details = function() {
        alert("Employee Details: " + this.id + "/" + this.name )
    }
} 

employee1 = new employee("23975","Sachin")
employee1.details()  

employee2 = new employee("23978","Nithin")
employee2.details() 

//-->
</script>

原型是 JavaScript 中的一种继承类型。当我们希望对象在定义后继承方法时,我们使用它。从概念上讲,可以将原型视为在对象定义后“附加”一个方法,然后所有对象实例都会立即共享该方法。

我们可以使用原型扩展上面原始的 `employee()` 对象,添加一个额外的修改员工 ID 的方法。

<script language="javascript" type="text/javascript">
<!-- 
employee.prototype.changeId = function(id) {
    this.id = id;
}

newemployee = new employee("23979","Aswin")
newemployee.changeid("23980")
newemployee.details() //alerts Employee Details: 23980/Aswin

//-->
</script> 
© . All rights reserved.