本文通过 movie 对象的示例,演示了如何在 JavaScript 中利用 prototype 属性为自定义对象动态添加属性和方法。代码展示了如何定义构造函数、绑定 toString 方法,并通过 prototype 扩展 isComedy 属性,最后通过实例化对象验证调用方式,帮助开发者理解原型链在属性扩展中的应用。
JavaScript prototype 属性扩展示例
本文通过具体代码示例,详细解析了 JavaScript 中利用 prototype 属性为对象定义属性的具体用法。内容旨在为读者提供清晰的参考与学习素材,深入剖析其核心机制。
示例代码首先定义了一个 movie 构造函数。在创建对象实例的过程中,通过 prototype 属性为该对象类型添加了 isComedy 属性。调用时,用户可以直接通过 object.isComedy 的方式访问该属性,这种实现方式操作便捷且直观。
<script type="text/javascript">
<!--
function movieToString() {
return("title: "+this.title+" director: "+this.director);
}
function movie(title, director) {
this.title = title;
this.director = director || "unknown"; //if null assign to "unknown"
this.toString = movieToString; //assign function to this method pointer
}
var officeSpace = new movie("OfficeSpace");
var narnia = new movie("Narnia","Andrew Adamson");
movie.prototype.isComedy = false; //add a field to the movie's prototype
document.write(narnia.toString());
document.write("<br />Narnia a comedy? "+narnia.isComedy);
officeSpace.isComedy = true; //override the default just for this object
document.write("<br />Office Space a comedy? "+officeSpace.isComedy);
//-->
</script>
期望上述关于 JavaScript 程序设计的内容能为读者的开发工作提供实质性的帮助与参考。