1. 属性描述符web
描述属性的属性数组
writable 决定属性是否能够写入(是不是一个只读属性)函数
enumerable 决定属性是否能够for in枚举(遍历)post
configurable 决定属性是否能够从新配置或者删除es5
2. 访问描述符spa
get 属性获取时调用的方法prototype
set 属性设置时调用的方法线程
使用:code
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 用来声明变量的关键字
JSON 方法
Object 扩展
Array 扩展
findIndex
map 加工处理数组的每一项值
filter 过滤数组中不须要的值
reduce 统计、求和
Funtion 扩展