let obj = {}
// 1。给对象添加属性 对象.或对象[]
obj.name = "张三"
console.log(obj.name, obj.age)
// js中可以通过Object.defineProperty()方法,可以为对象添加自定义的属性
// 参数1 添加属性对象 参数2 添加的属性名 参数3 添加的属性值(配置对象)
Object.defineProperty(obj, "phone", {
value:110,
// enumerable 是否允许枚举,遍历
enumerable:false,
// writable 属性值是否可以修改,默认为false 表示不能修改
writable:true
})
// console.log(obj.phone)
// obj.phone = 120
// console.log(obj.phone)
// 定义属性,这个属性值必须是一个数字类型
Object.defineProperty(obj, "age", {
// 属性允许被修改,定义了一个set函数,用于设置属性值
set(v){
// 如果要赋值的数据是一个数字类型,正常赋值
// if (typeof v == "number"){
// this._age = v
// }else{
// // 如果不是数字类型,抛出异常
// throw new TypeError("age值必须是数字类型")
// }
// 只读属性,只能进行属性访问,不能进行修改
throw new ReferenceError("This property is readonly!")
},
// 获取属性值,定义了一个get函数,用于获取属性值
get(){
// 返回固定值
return 22
}
})
// 对象.属性名 = 值 设置对象的属性
// obj.age = "20"
// obj.age 获取对象的属性值,执行属性的get函数
console.log(obj.age)

被折叠的 条评论
为什么被折叠?



