js模拟Java类共有2种方式
<script type="text/javascript">
//工厂模型
function createPerson(name,sex,age){
var obj = new Object();
obj.name = name;
obj.sex = sex;
obj.age = age;
obj.sayName = function(){
alert('hello');
}
return obj;
}
//var p1 = createPerson('z3','男',20);
//p1.sayName();
//构造函数式
function Person(name,sex,age){
this.name = name;
this.sex = sex;
this.age = age;
this.sayName = function(){
alert('hello');
}
}
var p1 = new Person('z3','男',23);
alert(p1.name);
alert(p1 instanceof Person);
//创建对象的方式
//1、当做构造函数创建
var p1 = new Person('z3','男',24);
//2、作为普通的函数去调用
Person('z3','男',24);
//3、在另一个对象的作用域中调用
var o = new Object();
Person.call(o,'z3','男',24);
alert(o.name);
</script>