构造函数对我们再熟悉不过了。但是,要是提到JS的构造函数,未必有很多人经常用到。下面是我自己对JS构造函数与JAVA构造函数区别的一点看法:
先看两段JS构造函数的代码:
<
script language
=
"
javascript
"
>
function Person(i) ... {
this.address = i;
}
Person.prototype.name = " bbb " ;
var o = new Person();
alert(o.name);
var oo = new Person( " eee " );
alert(oo.address);
</ script >
function Person(i) ... {
this.address = i;
}
Person.prototype.name = " bbb " ;
var o = new Person();
alert(o.name);
var oo = new Person( " eee " );
alert(oo.address);
</ script >
上面是一段简单的JS构造函数的代码:
从上面的代码中:我们可以看出:
第一:构造函数是用function定义的,同样可以包含有参的构造函数和无参的构造函数,如果定义了有参的构造函数
则,默认的无参的构造函数也起作用。这样就有两个构造函数。
第二:构造函数中,可以直接定义属性,也可以用this来指定属性,并同时赋值。而JAVA中,首先要定义成员变量,然后在赋值。
第三:JS中,构造函数也可以看做是一个对象。因此,可以用prototype的属性来指定成员变量。
至于JAVA的构造函数,大家都非常熟悉,此处就不多累赘。
希望大家共同学习。