index.html 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. <script src="./src/index.js"></script>
  9. </head>
  10. <body>
  11. <script>
  12. function Person(name,age){
  13. this.name = name
  14. this.age = age
  15. //return {}
  16. }
  17. const p = new Person('zhangsan',18)
  18. console.log(p)
  19. const p2 = newInstance(Person,'lisi',19)
  20. console.log(p2)
  21. //检测
  22. console.log(p instanceof Person)
  23. console.log(myInstanceOf(p,Person))
  24. //对象合并 重名不会覆盖 重复的形成数组
  25. const obj1 = {
  26. a:[{x:2},{y:3}],
  27. b:1,
  28. c:{d:4}
  29. }
  30. const obj2 = {
  31. b:2,
  32. c:6,
  33. a:2
  34. }
  35. console.log(mergeObject(obj1,obj2))
  36. //浅拷贝1
  37. const result = clone1(obj1)
  38. obj1.c.d = 2
  39. console.log(result)
  40. //浅拷贝2
  41. const result2 = clone2(obj1)
  42. obj1.c.d = 2
  43. console.log(result2)
  44. //深拷贝1 -- JSON.stringify 不能克隆方法、不能循环引用
  45. console.log(deepClone1(obj1))
  46. //深拷贝2 -- 递归
  47. console.log(deepClone1(obj2))
  48. </script>
  49. </body>
  50. </html>