本文介绍在JavaScript中为对象原型添加属性的两种常见方式。第一种通过构造函数内部定义实例属性,并在prototype上定义方法;第二种通过自定义extend函数实现简单的对象属性复制与继承,并遍历输出结果。
JavaScript原型属性添加方法
代码如下:
<script type="text/javascript">
<!--
/*
介绍为对象原型 prototype 添加属性的两种实现方式。
*/
// 方式一:通过构造函数和原型链定义
var myObj = function(){
this.study = "JavaScript";
}
myObj.prototype.hobby = function(){
{
this.hobby = "See girl";
}
var newObj = new myObj();
for ( var attr in newObj )
{
document.write( attr +"<br/>" );
}
document.write( "==================== <br/>" );
// 方式二:通过扩展函数复制属性
var superObj = { name:"xugang" };
var subObj = { age:20 };
function extend(superObj,subObj){
// 获取父对象的原型引用
subObj.getSuper = superObj.prototype;
// 将父对象的属性复制到子对象
for(var i in superObj){
subObj[i] = superObj[i];
}
}
extend(superObj,subObj);
for ( var s in subObj )
{
document.write( s +"<br/>" ); // 遍历并输出子对象属性
}
//-->
</script>运行结果:
hobby
study
====================
age
getSuper
name