批改状态:合格
老师批语:给你一个思考题:
如果防止用户没有通过new 来调用一个构造函数?
构造函数和原型对象
1.什么是构造函数
在 JavaScript 中,用 new 关键字来调用的函数,称为构造函数。
我们来看看输出效果图。body区看效果 console输出是为了方便调试。

来看具体代码,有具体注解。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>7.10日 构造函数与原型对象</title>
</head>
<body>
<script type="text/javascript">
//function Ren(name,age,height)
//var Ren = function (name,age,height)
//前面2行格式任选一种,下面创建一个构造函数 一般首字母大写好区分。
function Ren(name,age,height) {
this._name=name;
this._age=age;
this._height=height;
//在函数内 _name 是访问不到的 name或this._name才可以调用到。
this.say=function() {
return '我的名字叫:'+this._name+'我今年'+this._age+'岁了,但是我身高居然是:'+this._height+'厘米。';
}
}
//实例化 一个对象 p1
var p1=new Ren("大灰狼",18,188);
//实例化一个对象p2
var p2=new Ren("小灰狼",3,125);
//可以实例化无限了 对象哦~
//访问p1对象名字属性
document.write(p1._name +"<br />")
console.log(p1._name)
//访问p1对象say方法
document.write(p1.say() +"<br />")
console.log(p1.say())
//访问p2对象名字属性
document.write(p2._name +"<br />")
console.log(p2._name)
//访问p2对象say方法
document.write(p2.say() +"<br />")
console.log(p2.say())
//Ren 函数也是对象,是对象就可以添加属性和方法
Ren.tel="029-55668899";
Ren.add='陕西-西安';
document.write(Ren.add+Ren.tel +"<br />")
console.log(Ren.add+Ren.tel)
//直接添加到函数上的方法叫静态方法
Ren.hi=function() {
return "Ren.hi() 我是静态方法 输出的哦~";
}
document.write(Ren.add+Ren.tel +"<br />")
console.log(Ren.hi())
//任何函数都有一个原型属性:原型属性它是一个对象,保存着被当前函数实例所共享的成员
//原型属性:prototype
//通过给Ren构造函数的 prototype原型属性上添加mobile属性 就能实现 当前所有实例成员所共享此mobile属性
Ren.prototype.mobile="狼洞户籍管理中心电话:13355668888";
//输出测试
document.write(p1.mobile +"<br />")
document.write(p1.mobile +"<br />")
console.log(p1.mobile)
console.log(p2.mobile)
</script>
</body>
</html>点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号