4. 属性描述符_访问描述符

1. 属性描述符

描述属性的属性

writable  决定属性是否可以写入(是否是一个只读属性)

enumerable  决定属性是否可以for in枚举(遍历)

configurable  决定属性是否可以重新配置或者删除

2. 访问描述符

get 属性获取时调用的方法

set 属性设置时调用的方法

使用:

Object.defineProperty(对象, 属性名, {value: xxx})

Object.defineProperties(对象, {属性名: {value: xxx}})

删除属性    delete xxx

密封对象    Object.seal(对象);

- 不可以添加新属性

- 不可以删除

- 可以读写操作

冻结对象    Object.freeze(对象);

- 只能读

- 不能写入、删除、添加操作

深度冻结:

  •     function deepFreeze(obj) {
            if (typeof obj !== 'object')return;
            //默认情况下,先给第一层冻结
            Object.freeze(obj);
            //遍历对象
            for (var key in obj) {
                //获取属性值
                var value = obj[key];
                deepFreeze(value);
            }
        }

3. web workers

H5 规范提供的 js 分线程的实现

Worker: 构造函数, 加载分线程执行的js文件

Worker.prototype.onmessage :  用于接收另一个线程的回调函数

Worker.prototype.postMessage :  向另一个线程发送消息

使用场景:一般大量计算的任务会交给分线程完成

4. es5 扩展的内容

严格模式

let 和 const 用来声明变量的关键字

  • 在块作用域内有效
  • 不能重复声明
  • 不会预处理,  不存在提升
  • const定义的变量不能修改

JSON 方法

Object 扩展

Array 扩展

findIndex

map 加工处理数组的每一项值

filter 过滤数组中不需要的值

reduce 统计、求和

Funtion 扩展

 

猜你喜欢

转载自www.cnblogs.com/tianxiaxuange/p/10200689.html