工厂函数
举例:
//手动书写,费时费力
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)
特点:
工厂函数就是一个函数,不过工厂函数没有返回值,就是调用函数添加参数,就会自动生成对象,
简单来说就是一个加工的函数
深拷贝浅拷贝区别
浅拷贝:
浅拷贝是作用与简单数据类型
深拷贝:
深拷贝是作用与复杂数据类型
字符串
length
charAt charCodeAt
indexOf lastIndexOf includes search
concat trim
split
substr( start , length ) substring( start , end) slice(start , end) replace
toLowerCase toUpperCase
parseInt(100abc) parseFloat
repeat
数组
concat join
shift unshift pop push 改变原数组
sort reverse
slice splice 第二个参数不一样
indexOf lastIndexOf includes
find findIndex
forEach map filter
some every
reduce