1 , 创建对象的几种方法
(1):字面量方式
let obj = {
name:"123",
age:18,
getAge:function(){
console.log(this.age) ;
}
}
(2):Object创建
let obj = new Object() ;
<!--
相当于let obj = {} ;
-->
obj.name = '123';
obj.age = 18 ;
obj.getAge = function(){
console.log(this.age) ;
}
<!--
这两种的缺点是会产生大量相同的代码,代码不能重复使用
-->
(3):工厂模式(一定要return)
function createObj(name,age) {
let obj = {} ;
obj.name = name ;
obj.age = age ;
obj.getAge = function () {
console.log(this.age);
}
<!--此处一定要return出来-->
return obj ;
}
let obj = createObj('he',23) ;
<!--
缺点:无法判断返回的对象究竟是一个什么样的类型
-->
(4):使用构造函数
function createObj(name,age,loving) {
this.name = name ;
this.age = age ;
this.getAge = function () {
console.log(this);
}
}
let obj1 = new createObj('heh',24) ;
<!--
缺点:如果方法很多,就会有很多重复的代码
-->
(5):使用原型创造对象
function createObj() {
createObj.prototype.name = 'he';
createObj.prototype.age = 24 ;
createObj.prototype.getAge = function () {
console.log(this.age);
}
}
let obj1 = new createObj();
<!--
缺点:不能输入不同的参数,
为对象实例添加一个属性时,这个属性就会屏蔽原型对象中
保存的同名属性。
-->
(6):构造函数和原型
function createObj(name,age) {
this.name = name ;
this.age = age ;
}
createObj.prototype.getName = function () {
console.log(this.name) ;
}
let obj1 = new createObj('heh',24) ;
let obj2 = new createObj('hah',23) ;
js中对象创建的几种方法
最新推荐文章于 2022-06-26 20:21:59 发布