笔记-javascript创建对象

此页面是否是列表页或首页?未找到合适正文内容。

笔记-javascript创建对象

标签:log引用另一个使用方法ampasphangstyle

1. 工厂模式创建对象

1 //在函数内创建一个对象,给对象赋予属性及方法再将对象返回
2 function person (name, age) {
3 var obj = new Object();
4 obj.name = name;
5 obj.age = age;
6 obj.sayName = function () {
7 alert(this.name);
8 };
9 return obj;
10 }
11 var per = person(\”zhangsan\”, 21);
12 per.sayName();//zhangsan
13 //工厂模式无从识别对象的类型,全部都是Object
14 alert(typeof per); //object

缺点:没有new,重复调用方法,资源浪费。

2.构造方法创建对象

1 //没有显示的创建对象,直接将属性和方法赋值给了this对象,没有return语句
2 function Person (name, age) {
3 this.name = name;
4 this.age = age;
5 //相当于this.sayName = new Function (\”alert(this.name)\”);
6 this.sayName = function () {
7 alert(this.name);
8 };
9 }
10 //使用new创建对象,
11 var person = new Person(\”zhangsan\”, 21);
12 var person2 = new Person(\”lisi\”, 21);
13 person.sayName();//zhangsan
14 //能够识别对象(这正是构造函数模式胜于工厂模式的地方)
15 //使用构造函数的最大的问题在于每次创建实例的时候都要重新创建一次方法(理论上每次创建对象的时候对象的属性均不同,而对象的方法是相同的)
16 alert(person instanceof Person);//

作者: 大白菜装机

为您推荐

返回顶部