优质的低价网站建设,唐山网站制作企业,免费一级域名和空间,高职思政主题网站建设作用对象
1#xff0c;Object.is
用于判断两个值是否相等#xff0c; 其内部实现类SameValue算法#xff0c; 其行为类似于“” 但与“”不同的是 它认为两个NaN是相等的 而0#xff0c;-0是不相等的
2#xff0c;Object.assign
表示此方法可以将对象合并成一个 他的第一个…对象
1Object.is
用于判断两个值是否相等 其内部实现类SameValue算法 其行为类似于“” 但与“”不同的是 它认为两个NaN是相等的 而0-0是不相等的
2Object.assign
表示此方法可以将对象合并成一个 他的第一个参数是目标对象 剩余的参数都是源对象 返回值是最后的目标对象 特点: 只能复制可枚举的自有属性 不能无法复制继承的属性 和 不可枚举的属性 var obj1 { name: 123 }var obj2 Object.create( obj1 )obj2.age 2Object.assign({}, obj2)
// 其结果为{ age: 2}遇到同名的属性 后面的会覆盖前面的值 Object.assign() 方法是进行的浅拷贝 对于属性值为对象 只能对其指针的地址进行复制 Symbol()对象也会复制 当源对象的位置 是基本数据类型的时候 会将其包装成对象 像是undefined与null没有相应对象 就会被包装成字符串类型。
数组
1静态方法 Array.of()
一个静态方法of() 用于创建数组可以接收任意个参数返回值是由这些参数组成的一个新数组。
Array.of(2) // [2]
Array(2) //[,]2静态方法 Array.from()
可以将类数组对象和可迭代对象转换成数组 可以接收3 个参数 第一个参数待转换对象 第二个参数回调函数 可选 第三个参数 执行回调函数所绑定的this对象 可选
var obj { 0: 1, 1: 2, 2: 3,length: 3} // 类数组对象
Array.from(obj) // [1,2,3] // 使用回调函数
Array.from(obj, function(value, index){return value * 2
})3, fill(), copywithin()
fill(填充的值,开始的索引值,结束填充的位置)
copyWithin( 开始执行复制的位置,复制序列的起始位置,复制序列的结束位置)注意点
不仅修改原数组 还会覆盖指定 范围内的元素复制或者填充执行的都是浅复制当方法中的索引参数是负数的时候 会先和数组的长度相加再计算出最终的索引。保持数组的长度不变 在数组末尾停止复制或者填充
var arr1 [1,2,3,4,5]
var arr2 [ 1, 2, 3, 4, 5]
arr1.fill(6, 0, 2) // [6, 6, 3, 4, 5]
arr2.copyWithin(2,0,2) // [1,2,1,2,5]4, find() , findIndex()
这两个方法都可以接收两个参数 第一个是回调函数其中有三个参数当前元素元素索引原始数组 第二个是回调函数绑定的this对象
当匹配失败时 find() 返回的undefined findIndex()返回的是-1
arr.find(function(value, index){return value 1
})5, keys(), values(), entries()
这三个是迭代器方法 都返回一个可迭代对象
var arr [a,b,c]
[...arr.keys()] // [0,1,2]
[...arr.values()] // [a,b,c]
[...arr.enties()] // [[0,a],[1,b],[2,c]]