writable:false, //不允许重写
enumerable:true, //可以被枚举
configurable:false //不可以被删除
})
console.log(a);
访问器属性:就是存储描述符
-
get:返回属性值的函数。此函数没有参数,默认undefined。
-
set:设置属性值的函数。它具有一个包含要分配的值的参数,默认undefined。
-
enumerable:是否可枚举
-
configurable:是否可删除
创建对象
对象指的是类的实例,它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性,灵活性和扩展性。
原始的对象,大量的重复代码,明显是不可取的
let co1={
name:“co1”,
base:function(){return ‘hh’}
}
let co2={
name:“co2”,
base:function(){return ‘hh2’}
}
为了简化重复代码,首先演变了一种叫做“工厂模式”
function Co(name,age) {
return {
name:name,
age:age,
sayName:function(){
console.log(this.name);
}
}
}
var aa=Co(‘aa’,16),
ab=Co(‘ab’,2);
这种模式的优点是,大大简化了重复代码,但是有一个问题,这个是不是对象实例**,出现了对象识别问题;**
因此继续演变成“构造函数”模式,通过new来实例化对象
function Co1(name,age) {
this.name=name;
this