4-基本包装类型 Object.ptototype详解 静态成员

2017-11-28  本文已影响0人  前端雨

基本包装类型

  1. 类型: String字符串对象 | Number数值对象 | Boolean布尔类型对象(区别于简单数据类型的字符串 / 数值 / 布尔值)

  2. 创建对象的方式

      //一般创建方式-object
      var str = new String('demo'); 
      //特殊创建方式-object
      var str = new Object('demo'); 
    
  3. 注意点

    • 比较对象与对象-考虑引用类型数据的存储的值是地址(指向具体数据的地址)

    • 对象和基本数据类型- 对象会转换成基本类型的值

       new String('123') == new String('123');     //false
       new String('123') == '123';   //true
      
  4. 基本数据类型有属性?

    • 字符串 / 数值 / 布尔基本数据类型在使用属性时
    • 内部默认创建一个与之对应的对象
    • 利用该对象使用属性和方法, 得到结果后返回
    • 再销毁该对象
  5. Number对象注意点

    • 变量 / 表达式方式可以直接调用, 数值(可以加个括号封装成表达式的形式)不可以直接调用

Object.ptototype的属性详解

  1. constructor: 指向对象的构造函数
  2. hasOwnProperty: 判断对象是否有指定的实例属性
  3. isPrototypeOf : 判断一个对象是否是指定对象的原型对象(判断的是整一条原型链)
  4. propertyIsEnumerable: 判断一个属性是否是可以枚举的 (可枚举表示可以通过for..in遍历出来)
  5. toString : 返回对应的字符串描述信息, 返回值是string
    • object对象-->[object Obejct]
    • 数组 | 函数-->对应的字符串形式[1,2,3]-->1,2,3
    • Number对象使用的时候可以传递参数表示进制转化
  6. toLocaleString : 一般情况下和toString, 在特殊情况下做本地化的处理
  7. valueOf : 返回对应的值
    • 对象返回对象本身
    • 基本包装类型返回对应的基本数据类型的值

静态成员

Object静态成员

  1. Object.constructor: 指向对应的构造函数

  2. Object.assign : 拷贝属性

  3. Object.arguments: 函数内部的隐藏参数,用来接收实参

  4. Object.call : 借用其他对象的方法

  5. Object.apply : 借用其他对象的方法

  6. Object.caller: 返回调用函数的函数, 如果在全局作用域中调用函数返回null

       function f1() {   console.log(f1.caller);   }
       function f2() {   f1();   }
       f2();    //返回f2() {f1(); }
       //f1();  //返回null
    
  7. Object.create: 创建对象并设置原型对象

  8. Object.getOwnPropertyDescriptor 获取一个对象某个属性的描述信息

    Object.getOwnPropertyDescriptor
  9. Object.defineProperty: 定义一个属性并设置描述对象

    • 注意点
      • 修改已经存在的属性, 默认都是true
      • 添加新的属性. 默认是false
    • 属性
      • configurable: true 是否可以配置(1.是否可以删除 2.是否可以改变该配置)
      • enumerable : true 是否可以枚举(是否可以通过for..in遍历)
      • value : 'zs'
      • writable : true 是否可重写(是否可以修改这个属性值)
  10. Object.getOwnPropertyNames: 获取实例属性的属性名,返回数组,数组中存储是所有实例属性的属性名

  11. Object.keys: 获取对象的所有属性名, 不包括原型属性和不可以枚举的实例属性

  12. Object.getPrototypeOf: 获取对象的原型对象

  13. Object.preventExtensions | Object.isExtensible(object) 返回一个值,该值指示是否可向对象添加新属性

    • 禁止扩展,不能添加属性
  14. Object.seal | Object.isSealed

    • 密封对象 :禁止扩展,不能添加属性,不能删除,可以修改
  15. Object.freeze | Object.isFrozen

    • 冻结对象:不能添加属性,不能删除,不能修改

Function构造函数的使用

函数隐藏参数(arguments, this)

caller | callee

Function小应用(数组去重/求最大值)

Function.prototype原型链-绘图

Object和Function的关系

私有变量/函数-特权方法

eval

with

上一篇下一篇

猜你喜欢

热点阅读