<script>
function Student(name, age, sex) {
// 一般情况下对象的属性在构造函数中设置
this.name = name;
this.age = age;
this.sex = sex;
}
// 一般方法在构造函数的原型上设置prototype
Student.prototype.writeIt = function() {
document.write('Hello PROTOTYPE!')
// alert("Hello PROTOTYPE")
}
// 多个方法可以用以下形式写但是要注意
console.dir(Student.prototype);
//注意以上代码★★
Student.prototype = {
writeIt: function() {
document.write('Hello PROTOTYPE!')
// alert("Hello PROTOTYPE")
},
eat: function() {
log("....")
}
}
//注意以下代码★★
console.dir(Student.prototype);
var a = new Student();
// a.writeIt();
// console.log(a.constructor);
</script>
当我们访问constructor属性时先找本身有没有,再找原型对象中有没有,结果原型对象也没有,就在找原型对象的原型对象结果找到了时object类型
怎么解决呢?
//代码如下
Student.prototype = {
constructor: Student,
//再次指定该对象到底属于哪类对象
writeIt: function() {
document.write('Hello PROTOTYPE!')
// alert("Hello PROTOTYPE")
},
eat: function() {
log("....")
}
}