博主信息
博文 36
粉丝 4
评论 3
访问量 39061
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
7.10 构造函数和原型对象
大灰狼的博客
原创
906人浏览过

构造函数和原型对象


1.什么是构造函数

在 JavaScript 中,用 new 关键字来调用的函数,称为构造函数。

我们来看看输出效果图。body区看效果 console输出是为了方便调试。

1.jpg

来看具体代码,有具体注解。

实例

<!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>

运行实例 »

点击 "运行实例" 按钮查看在线实例


批改状态:合格

老师批语:给你一个思考题: 如果防止用户没有通过new 来调用一个构造函数?
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学