【笔记】ES5的新特性

前言

ES5的新特性

数组

遍历

  • forEach()函数中的return不会终止循环

value:当前的遍历的值
index:当前的遍历的索引
this:数组本身

1
2
3
数组对象.forEach(function (value, index, this) {
...
});

筛选数组

  • filter()函数返回的是一个新数组,用来筛选数组
  • 先将值筛选,每次都将filter()函数的返回值插入到新数组

value:当前的遍历的值
index:当前的遍历的索引
this:数组本身

1
2
3
let 新数组对象 = 数组对象.filter(function (value, index, this) {
return value == ""
});

查找元素是否存在

  • some()函数返回的是一个布尔值,用来查找数组中是否存在某个元素
  • 如果找到了第一个匹配的元素,会立即终止循环,并返回布尔值
    • some()函数中return返回true会终止循环,return返回false会继续循环

value:当前的遍历的值
index:当前的遍历的索引
this:数组本身

1
2
3
let 是否存在 = 数组对象.some(function (value, index, this) {
return value == ""
});

字符串

去除字符串两侧空白字符

  • 返回一个新字符串
1
let 新字符串对象 = 字符串对象.trim();

对象

新增或修改对象的属性

value:指定属性的值,如果属性不存在就创建属性,如果属性存在就修改属性
writable:是否允许重写,默认值为false不允许重写,即便是有其他修改属性值的代码也不会修改成功
enumerable:是否允许被枚举,默认值为false不允许被枚举,不会被Object.keys()遍历
configurable:是否允许被删除或被再次修改特性,默认值为false不允许被删除或被再次修改特性,不会被delete 对象名.属性名删除,不会再次通过Object.defineProperty()修改对象的属性的特性

1
2
3
4
5
6
Object.defineProperty(对象名, "属性名", {
value: "属性值"
writable: false
enumerable: false
configurable: false
});

获取对象所有的属性名

  • 返回对象的所有属性名的数组
1
Object.keys(对象名);

完成

参考文献

哔哩哔哩——黑马前端