简单原型

<!DOCTYPE html>
<html>
<head>
<title>简单原型</title>
</head>
<body>


<script type="text/javascript">


// 简单原型
/*
function Person() {


}


Person.prototype = {
//constructor : Person, // 必须得表示原型对象的构造器
name : 'z3',
say : function() {
alert("我是原型的方法");
}
};


var p1 = new Person();
//alert(p1.name);
//p1.say();
for (attr in p1) {
alert(attr);
} // construtor name say






// Object.defineProperty(); 给原型对象重新设置构造器的方法 ES5
// 三个参数。1 更改的对象 2 属性名称 3 optain


Object.defineProperty(Person.prototype,'construtor',{
enumerable : false,
value : Person
});


var p1 = new Person();
for(attr in p1) {
alert(attr);
} // name say
*/
// 原型的动态特性 注意:简单原型和创建实例对象的先后顺序


function Person() {


}


var p1 = new Person()
// Person.prototype.name = 'z3';
// alert(p1.name);// z3


Person.prototype = {
construtor : Person,
name : "z3",
say : function() {
"我是原型的方法";
}
}
 
alert(p1.name);// undefined 
// 当使用简单原型的时候,首先将对象的原型重新指向一个Object,因此此时的p1.prototype为空
// 所以使用简单原型的时候。实例对象的创建必须在创建简单原型之后


var p2 = new Person();
alert(p2.name);// z3


</script>


</body>
</html>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值