8.对象的扩展方法.html 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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)); //true
  12. console.log(Object.is(12,"12")); // false
  13. // 2.Object.assign() 传入的对象 若属性名相同会覆盖 不同会合并
  14. let obj1 = {
  15. name:"孙悟空",
  16. age:18,
  17. sex:"男"
  18. }
  19. let obj2 = {
  20. name:"猪八戒",
  21. age:28
  22. }
  23. console.log(Object.assign(obj1,obj2));
  24. let obj3 = {
  25. name:"唐僧",
  26. age:38
  27. };
  28. let arr = ["北京","上海","哈尔滨"];
  29. // console.log(Object.setPrototypeOf(obj3,arr));
  30. // h5 => localStorage 中的 setItem 和 getItem
  31. // 3.Object.setPrototypeOf 自定义对象设置属性
  32. let newObj = Object.setPrototypeOf(arr,obj3);
  33. // 4.Object.getPrototypeOf 读取自定义对象属性
  34. console.log(Object.getPrototypeOf(newObj))
  35. // es8中新增属性
  36. let obj4 = {
  37. name: "图图",
  38. age:3
  39. }
  40. // 5.Object.keys() 当前对象的属性名的键值对
  41. console.log(Object.keys(obj4),'keys');
  42. // 6.Object.entries() 返回当前对象中可枚举的键值对
  43. console.log(Object.entries(obj4),'entries');
  44. // 7.Object.values() 返回当前对象中可枚举的属性值
  45. console.log(Object.values(obj4),'values');
  46. </script>
  47. </body>
  48. </html>