<!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>
let obj = {
a:1,
b:2
}
// 1.获取原型
// let temp1 = Object.getPrototypeOf(obj)
// console.log(temp1);
// 2.设置原型
// Object.setPrototypeOf(obj,{c:3})
// console.log(obj);
// 3.获取对象的扩展性
// let exts = Object.isExtensible(obj)
// console.log(exts); // true
// Object.freeze(obj) // 冻结对象
// console.log(Object.isExtensible(obj)); // false
// 4.封闭对象
// Object.seal(obj)
// console.log(obj.a); // 可读取
// obj.a = 88 // 可写的
// console.log(obj);
// obj.uname = 111 // 不可修改 不添加未初始的属性
// console.log(obj);
// delete obj.a // 不可删除
// console.log(obj);
// for(var key in obj){
// // var value = obj[key] // 可遍历的
// console.log(key);
// }
// 5.冻结对象
// let obj2 = Object.freeze({
// a:1,
// b:2
// })
// 可遍历
// for(var key in obj2){
// var value = obj2[key]
// console.log(value);
// }
// 可读取
// console.log(obj2.a)
// // 不可写
// obj2.a = 88
// console.log(obj2);
// 不可修改
// obj2.uanme = 88
// console.log(obj2);
// 不可删除
// delete obj2.a
// console.log(obj2);
// 6获取自有属性
// Object.setPrototypeOf(obj,{c:3})
// ownkeys = Object.getOwnPropertyNames(obj)
// // 不包含其他的 比如说原型 c 字段
// console.log(ownkeys);
// 7 禁止扩展对象
// Object.preventExtensions(obj)
// 不可以修改 就是添加 拓展
// obj.uanme = 88
// console.log(obj);
// 8拦截对象操作 Object.defineProperty
// 9判断属性是否是自身
// Object.setPrototypeOf(obj,{c:3})
// console.log(obj.hasOwnProperty('c')); // false
// console.log(obj.hasOwnProperty('a')); // true
// 获取建,值集合 自身的
Object.setPrototypeOf(obj,{c:3})
console.log(Object.keys(obj)); // 不包括c
console.log(Object.values(obj));// 不包括c
</script>
</body>
</html>
js对象的一些操作介绍
最新推荐文章于 2023-01-12 21:41:10 发布