工厂函数
举例:
//手动书写,费时费力 var obj1 = { uname: "张三", age: 21 } var obj2 = { uname: "李四", age: 23 } var obj3 = { uname: "王五", age: 12 } var obj4 = { uname: "赵六", age: 32 } //工厂函数 function demo(uname, age) { var obj = new Object() obj.uname = uname; obj.age = age return obj; } console.log(demo("张三", 21)) console.log(demo("李四", 23)) console.log(demo("王五", 12)) console.log(demo("赵六", 32)) //构造函数:没有返回值 function demo(uname, age) { this.uname=uname; this.age=age } var result = new demo("张三", 21) console.log(result)
特点:
工厂函数就是一个函数,不过工厂函数没有返回值,就是调用函数添加参数,就会自动生成对象,
简单来说就是一个加工的函数
深拷贝浅拷贝区别
浅拷贝:
浅拷贝是作用与简单数据类型
深拷贝:
深拷贝是作用与复杂数据类型