版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_36282409/article/details/84111017
<script type="text/javascript" charset="UTF-8">
//简单原型:
function Person(){
}
var p1=new Person();
Person.prototype={
// constructor:Person,//必须是原型对象的构造器。
name:'z3',
age:20,
job:"程序员",
say:function(){
alert('我是原型的函数');
}
};
//ECMA5给原型对象重新设置构造器的方法。Object.define
//EF4+ie8
//3个参数:参数1:重新设置构造器对象, 参数2:设置什么属性,参数3:options参数项
Object.definePropery(Person.prototype,'constructor');
/*
var p1=new Person();
// alert(p1.name);
// p1.say();
// alert(Person.prototype.constructor);
//枚举对象的keys
for(attr in p1){
alert(attr);
}
*/
//原型的动态特性
/*
function Person(){
}
var p1=new Person();
//原型对象的构造器默认为Person
Person.prototype.say=functon(){alert('我是方法!')};
p1.say();
*/
function Person(){
}
var p1=new Person();
Person.prototype={
//constructor:Person, //必须得表示原型对象的构造器
name:'z3',
age:20,
job:'程序员',
say:function(){
alert('我是原型对象的函数');
}
};
//alert(p1.name); //error 因为原型对象里面没有任何属性和方法
//p1.say();
//注意简单原型使用的顺序(实列对象必须在原型对象之后创建)
var p2=new Person();
p2.say();
</script>
</head>
<body>
<h1>New Web Project Page</h1>
</body>