<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
//var obj1 = Object.create(prototype,descriptors)
//prototype是对象的原型,descriptors是对象的特性
//Object.create的作用是用来创造一个对象
//两个参数:
//第一个参数是对象的原型:可以写null,如果写null,实例的原型就是undefined
//第二个对象是对象的特性:是对象中属性的一些描述信息
/*{
属性:{
value:这个属性的值
writable: 是否可写,默认false
enumerable:是否可枚举(即是否可遍历)
configurable:是否可删除
}
}*/
// var obj1 = Object.create(null, {
// var obj1 = Object.create({key:'key'}, {
var obj1 = Object.create(Object.prototype, {
name:{
value: 'zs',
writable: true,// 默认值为false,表示为是否可写
enumerable: true,// 默认值为false,表示为是否可枚举(即是否可遍历)
configurable: true// 是否可删除
},
sex:{
value: '男'
}
})
// obj1.name = 'ls'
// obj1.sex = '女'
// console.log(obj1.name)// 修改成功
// console.log(obj1.sex)// 修改失败
// for(var key in obj1){
// console.log(key)// 只显示了name
// }
// console.log(obj1.__proto__)
// delete obj1.name
// delete obj1.sex
// console.log(obj1.name)// undefined 删除成功
// console.log(obj1.sex)// 男 删除失败
var obj1 = {key:'key', name:'obj1'}
var obj2 = Object.create(obj1)
console.log(obj2) //空对象,但是继承了obj1
console.log(obj2.name) //自己没有没关系,它爹obj1有
</script>
</body>
</html>
Object.create方法
最新推荐文章于 2024-07-06 16:47:02 发布