面对对象-构造函数

1. 使用构造函数

作用:要创建同一个对象的多个实例,就要反复创建实例的过程:创建对象、添加属性、定义方法等就会很麻烦。因此要考虑构造函数

只有一个全局实例的对象有时候成为“单例”对象,在有些场合很实用,如程序的用户只有一个相关的userProfile对象,其中包括他的名字、最后访问的页面等类似属性。

代码块:

<script>
	function diyObject () {
		this.info = '构造函数的内容';
		this.showInfo = function () {  //匿名函数
			alert(this.info);
		}
		this.resetInfo = function ( newInfo ) {
			this.info = newInfo;
		}
	}
	var func = new diyObject();//var 不写也不错
	func.showInfo();
</script>

对象的实例化:(设置成员变量)

var =  func = new diyObject( );

调用和查看方法和属性:

func.showInfo( );

var x = func.info;

func.info = “构造函数的内容被覆盖”;

创建多个实例:

var func1 = new diyObject( );

var func2 = new diyObject( );

Body内代码实现:

<input type="botton" value="func1.showInfo()" οnclick="func1.showInfo()"/>
<input type="botton" value="func2.showInfo()" οnclick="func2.showInfo()"/>
<input type="botton" value="func1.resetInfo()" οnclick="func1.resetInfo('构造函数的内容被改变,请注意!!!')"/>
<input type="botton" value="func1.showInfo()" οnclick="func1.showInfo()"/>

2. 构造函数参数

在把对象实例化时,还可以通过给构造函数传递一个或多个参数来定制对象。


<script>
	function Person (personName, age) {
		this.name = personName;
		this.age = age;
		this.info = 'My name is ' + this.name + ', this year, I am ' + this.age + ' years old. ';
		this.showInfo = function() {
			alert(this.info);
		}
	}
	person1 = new Person("Yan",18);
	person2 = new Person("Wus",18);
	person1.showInfo( );
	person2.showInfo( );
</script>




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值