1.深浅拷贝的区别
js数据类型分为:
- 基本数据类型(number srting boolean null undefined symbol)
- 对象数据类型(object)
- 引用数据类型的值是保存在栈内存和堆内存中的对象,栈区内存保存变量标识符和指向堆内存中该对象的指针。寻找引用值的时候,解释器会先寻找栈中的地址,然后根据地址找到堆内存中的实体。
浅拷贝
将原对象或原数组的引用直接赋给新对象(改变原对象)
深拷贝
创建深拷贝的方式:使用 JSON.stringify() 将该对象转换为 JSON 字符串,然后使用 JSON.parse() 将该字符串转换回(全新的)JavaScript 对象 深拷贝做的任何修改都不会改变原对象
深拷贝的方法:JSON.parse(JSON.stringify(arr))
var let const的区别
判断数据类型的方法
- type of(返回字符串,number,string,boolean,object,undefined,function)
无法判断对象和数组还有null因为都返回Object - instance of ((判断数据是否是某个对象的实例)
返回布尔值) 局限性:对于基本类型 instanceof无法判断(因为实力是由对象或函数创建的,无法识别null和undefined) - Object.prototype.toString.call()
返回一个形如 “[object XXX]” 的字符串
flex布局 属性整理
父:display-flex ;justify-content:{ 1.flex-end后从往前排列 2.flex-start从前往后排列 3.居中排列 4.end 5.justify-content: space-evenly;平均分 }