您的位置:首页 > Web前端 > JavaScript

js对象中原型(prototype)的使用方法、替换以及注意事项

2017-06-22 08:58 726 查看
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
function Person(name, age, gender) {
this.name = name;
this.age = age;
this.gender = gender;
}

//----------------------原型的使用方法--------------------
//1.利用对象的动态特性给原型对象添加成员
//2.直接替换原型对象

//存在的问题:
//如果使用第二种方式使用原型,那么会出现如下问题:
//在替换原型之前创建的对象的原型 和 在替换原型对象之后的创建的对象的原型 不是同一个!
//如下:
Person.prototype.sayHello = function () {
console.log("Nice to meet you all");
}
var p = new Person("刘能", 18, "male");
p.sayHello();//Nice to meet you all

//替换了原型对象
Person.prototype = {
msg : "你猜我在不在"
};

var p1 = new Person("xzy",18,"male");
console.log(p1.msg);
p.sayHello();   //35行=不能打印出()只有22行打印出来‘Nice to meet you all’打印了两遍 说明不是同一个原型

//----------------------替换原型对象---------------
function Person(){

}

Person.prototype.sayHello = function () {
console.log("-------nice to meet you------");
}

var p = new Person();

Person.prototype.sayHello=function() {
alert(1);
};
// var p = new Person;
p.sayHello();

</script>
</head>
<body>

</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: