11.对象的扩展方法.html 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <script>
  10. // 1.Object.is() 判断两个值是否全等(===)
  11. console.log(Object.is(12, 12));
  12. console.log(Object.is(12, "12"));
  13. // 2.Object.assign() 对象合并;后面传入的对像若与前面传入的对象属相相同 则覆盖,不同 则合并
  14. let obj1 = {
  15. name: 'Lucy',
  16. age: 10
  17. }
  18. let obj2 = {
  19. name: "LiLi",
  20. address: "哈尔滨"
  21. }
  22. console.log(Object.assign(obj1,obj2))
  23. let school = {
  24. address:"长春"
  25. }
  26. let city = {
  27. name:['北京','上海','广州']
  28. }
  29. // 3.setPrototypeOf() 给当前对象设置原型
  30. console.log(Object.setPrototypeOf(school,city))
  31. // 4.getPrototypeOf() 获取当前对象设置原型
  32. console.log(Object.getPrototypeOf(school))
  33. // 5.Object.keys
  34. let obj3 = {
  35. name: "神厨小福贵",
  36. age: 12
  37. }
  38. // 6.Object.keys() 返回当前可枚举对象的属性名键值对
  39. console.log(Object.keys(obj3))
  40. // 7.Object.entries() 返回当前可枚举对象的[key,value]数组
  41. console.log(Object.entries(obj3))
  42. // 8.Object.values() 返回当前可枚举对象的属性值键值对
  43. console.log(Object.values(obj3))
  44. // 9.Object.getOwnPropertyDescriptor() 返回当前传入对象自身的属性
  45. console.log(Object.getOwnPropertyDescriptors(obj3));
  46. // 10.Object.create() 对象的创建
  47. let obj4 = Object.create(null,{
  48. name:{
  49. value:"东方树叶",
  50. configurable: true,
  51. enumerable: true,
  52. writable: true
  53. },
  54. age:{
  55. value: 10
  56. }
  57. })
  58. console.log(obj4)
  59. console.log(Object.getOwnPropertyDescriptors(obj4));
  60. </script>
  61. </body>
  62. </html>