JS中创建对象的方式:

创建对象:只要new了就说明创建对象了
在计算机编程中有一句话:万物皆对象(除了基本数据类型之外的其他任何类型都是对象)

对象里面有什么东西呢?一个对象拥有两个最基本的信息:属性(标识对象的基本信息)和行为(function)!

方法一:字面量:

1
2
3
4
5
6
var a = {
name:”zhangsan”,
age:18,
song:function(){
}
}

字面量创建对象的实质是通过new Object()来创建的

b) new Object()来创建对象

1
2
3
4
5
6
7
var b = new Object();
b.name = “zhangsan”;
b.age = 18;

var c = new Object();
c.name = “wangwu”;
c.age = 19;

方法二:通过工厂函数创建对象

1
2
3
4
5
6
7
8
9
10
11
12
 function createPerson(name,age){
var p = new Object();
p.name = name;
p.age = age;
return p;
}

var p1 = createPerson(“zhangsan”,123);
var p2 = createPerson(“lisi”,13);

好处是创建对象的代码进行了封装了,缺陷是无法判断所创建出来的对象的具体类型
console.log(typeof(p1)); object

方法三:通过构造函数来创建对象

1
2
3
4
5
6
7
8
9
10
function Person(name,age){
this.name = name;
this.age = age;
}
//1.构造函数的函数名的首字母大写
//2.构造函数中可以使用this this就代表当前对象
//3.构造函数可以new

var p1 = new Person(“张三”,12);
var p2 = new Person(“李四”,13);

通过构造函数来创建对象的好处是可以通过instanceof或者constructor来查看所创建出来的对象的具体类型

//instanceof 查看对象否是指定类型的对象,如果是返回true;如果不是返回false
console.log(p1 instanceof Person);
//看p1的构造器是否是Person,如果p1的构造器是Person的话,说明P1是Person类型的对象
console.log(p1.constructor == Person);