zoukankan      html  css  js  c++  java
  • 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 扩展

     

    --------小尾巴 ________一个人欣赏-最后一朵颜色的消逝-忠诚于我的是·一颗叫做野的心.决不受人奴役.怒火中生的那一刻·终将结束...
  • 相关阅读:
    spring入门
    mybatis环境配置与入门例子
    wine 魔兽争霸
    不要再使用工具格式化代码!!!
    Android 动画 setVisibility 后出错解决方法
    AbsListView.OnScrollListener 使用注意事项
    linux 配置 wlan 连接
    练习:求完数问题
    重写:求比指定数大且最小的“不重复数”问题
    emacs 快捷键笔记
  • 原文地址:https://www.cnblogs.com/tianxiaxuange/p/10200689.html
Copyright © 2011-2022 走看看