<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
function person(name,age,nationality){
this.name = name;
this.age = age;
this.nationality = nationality;
this.comment = function(){
alert(this.name + "," + this.age + " years old, belongs to" + this.nationality );
}
}
var martin = new person("martin",25," England");
var keke = new person("keke",25," China");
martin.comment();
keke.comment();
</script>
</body>
</html>
优点:1.很多书都是这样教我们用构造方法和new的
2.this对应的是new object
3. 一些人喜欢这样:var myFoo = new Foo()
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
function createPerson(pname,page,pnationality){
var person = new Object();
person.name = pname;
person.age = page;
person.nationality = pnationality;
person.comment = function(){
alert(this.name + "," + this.age + " years old, belongs to" + this.nationality );
}
return person;
}
var martin = createPerson("martin",25," England");
var keke = createPerson("keke",25," China");
martin.comment();
keke.comment();
</script>
</body>
</html>
而这个大部分人喜欢这样用:var myFoo = Foo() 或 var myFoo = foo.create()
具体构造和工厂生成对象的区别,还在整理中