constructor.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>构造函数</title>
<script>
/*function createPerson(name, sex){
//创建空对象
var obj = new Object();
//增加空对象的属性
obj.name = name;
obj.sex = sex;
obj.showName = function(){
alert("我的名字是" + this.name);
}
obj.showSex = function(){
alert("我的性别是" + this.sex);
}
//暴露对象
return obj;
}
var p1 = createPerson("zhangsan", "男");
p1.showName();
p1.showSex();*/
/*
如果我们某一个函数使用new去调用叫做构造函数。
1、当前函数中的this指向new
2、自动去完成工厂方法中的原料和出厂操作
注:构造函数一般情况下首字母大写。
*/
/*function Person(name, sex){
this.name = name;
this.sex = sex;
this.showName = function(){
alert("我的名字是: " + this.name);
}
this.showSex = function(){
alert("我的性别是: " + this.sex);
}
}
var p1 = new Person("zhangsan", "man");
p1.showName();
p1.showSex();*/
/*
混合法构造函数
*/
function Person(name, sex){
this.name = name;
this.sex = sex;
}
//Person构造函数添加方法,添加在构造函数的原型上prototype
Person.prototype.showName = function(){
alert("我的名字是: " + this.name);
}
Person.prototype.showSex = function(){
alert("我的性别是: " + this.sex);
}
var p1 = new Person("zhangsan", "man");
p1.showName();
p1.showSex();
var p2 = new Person("lisa", "woman");
p2.showName();
p2.showSex();
alert(p1.showName === p2.showName);//true
</script>
</head>
<body>
</body>
</html>
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- jqkq.cn 版权所有 赣ICP备2024042794号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务