1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- <!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>
- <script src="./src/index.js"></script>
- </head>
- <body>
- <script>
- function Person(name,age){
- this.name = name
- this.age = age
- //return {}
- }
- const p = new Person('zhangsan',18)
- console.log(p)
- const p2 = newInstance(Person,'lisi',19)
- console.log(p2)
- //检测
- console.log(p instanceof Person)
- console.log(myInstanceOf(p,Person))
- //对象合并 重名不会覆盖 重复的形成数组
- const obj1 = {
- a:[{x:2},{y:3}],
- b:1,
- c:{d:4}
- }
- const obj2 = {
- b:2,
- c:6,
- a:2
- }
- console.log(mergeObject(obj1,obj2))
- //浅拷贝1
- const result = clone1(obj1)
- obj1.c.d = 2
- console.log(result)
- //浅拷贝2
- const result2 = clone2(obj1)
- obj1.c.d = 2
- console.log(result2)
- //深拷贝1 -- JSON.stringify 不能克隆方法、不能循环引用
- console.log(deepClone1(obj1))
- //深拷贝2 -- 递归
- console.log(deepClone1(obj2))
- </script>
- </body>
- </html>
|