学js这么久了,一般创建对象都是用的字面量来创建对象,
最近心血来潮好好研究了一下创建对象的具体方式,
下面就是一一罗列的一些创建对象的方式
代码如下
1.以字面量的方式创建对象
let duxiang={
name:"guohao",
age:19,
sex:"boy",
}
console.log(duxiang);
2.以构造函数的形式创建对象
var duixiang=new function(){
this.name='guohao'
this.age=19
this.sex='male'
}
console.log(duixiang);
3.通过object来创建对象
var gh=new Object();//创建好后再定义内容
gh.name='guohao'
gh.age=19
gh.sex='male'
console.log(gh);
//如果已经有了一个对象,可以用Object的create()方法创建,在向里面添加内容,继承对象
var p={name:'guohao',age:19,sex:'male'}
var gh2=Object.create(p);
console.log(gh2);
4.通过工厂的方式大批量创建内容相同的对象
//创建总函数
function total(name,age,sex){
//函数内部的新对象
var obj= new Object();
obj.name=name
obj.age=age
obj.sex=sex
//返回对象
return obj
}
//再外部调用
var gh3=total('guohao',19,'male')
console.log(gh3);
5.以原型对象的方式在创建的函数原型链公共区域中添加属性
function yuanxing(){
}
yuanxing.prototype.name='guohao'
yuanxing.prototype.age=19
yuanxing.prototype.sex='male'
var gh4=new yuanxing();
console.log(gh4);
注意这里是公共区域,在其他函数也可以搜索到这个属性