• js对象


    a.  js对象都是关联数组

    b.  inherit();返回一个继承自原型对象p的属性的新对象

    对象的方法:

      创建(create)  设置(set)  查找(query) 删除(delete)  检测(test)和枚举(enumerate)

    创建对象的方法:

      对象直接量  关键字new  es5中的Object.create()

      var aa=Object.create({"x":0,"y":1})

    属性的读取和修改:

      1.通过 . 连接            属性不可以改变,不能在运行时更改

      2.通过object['xxx'];   属性可以是变量,比如  object['xx'+a];   a可以是个变量,这样属性就不确定了,可以在运行中更改

      3.查询一个没有的属性会返回undefined

      4.查询一个对象的属性,如果对象不存在,就会抛出一个错误。如果查询某对象的属性,不让他报错可以这样:

        var a=b&&b.c&&b.c.d;

    属性的删除

      1. delete只能断开宿主与宿主对象的联系,而不会去操作属性中的属性,不能删除通过变量声明或函数声明创建的全局全局对象属性,成功返回true,失败返回false

        delete a.b//a不再拥有属性b

        delete a['b']//a不再拥有属性b

    属性的检测

      1.in运算符,hasOwnProperty(),propertyIsEnumerable()

        in左侧属性名,有侧是对象如果对象的自有属性或继承属性包含这个属性就返回true,否则false

        var a={x:1}     a.hasOwnPreperty('x');//true

        propertyIsEnumerable()是hasOwnPreperty()的增强版,只有属性是可枚举的,并且属于这个对象,才返回true

      2.最简单的方法!==是否为undefined

    属性的枚举

      1.在代码中给对象添加的所有属性都是可枚举的,在for/in中我们需要跳过一些属性

        for(p in o){

          if(!o.hasOwnproperty(p)) continue ;//跳过继承属性

        }

        for(p in o){

          if(typeof o[p]==="function") continue ;//跳过方法

        }

      2.在es5中多了两个函数

        Object.keys();//返回一个数组,这个数组由对象中可枚举的自有属性组成

        Object.getOwnPropertyNames();//返回对象中所有自有属性的名称

    属性getter和setter (存取器属性)

      1.var 0={

        a:1,//普通的数据属性

        //存取器属性都是成对定义的函数

        get b(){这里是函数体},

        set c(){这里是函数体}

              }

    对象的三个属性

      1.原型属性:

        var p={x:1};//定义一个原型对象

        var o=Object.create(p);使用这个原型创建一个对象

        p.isPrototypeOf(0);//true,o继承自p

        Object.prototype.isPrototypeOf(o);//p继承自Object.prototype

      2.类属性

      3.可扩展性  通过把对象传入Object.esExtensible()判断对象是否是可扩展的

        Object.prevenExtensions()将带转换的对象作为参数传进去,就会变成不可扩展的,注意,转换成就不能转换回来了

        Object.seal()不仅能够把对象设为不可扩展,而且能把其自身的的所有自有属性设为不可配置

        isSealed()检测对象是否封闭

        Object.freeze()  冻结,不光不可配置,而且止咳可读

        Object.isFrozen()  检查对象是否冻结

    对象序列化

      1:JSON.stringify();//转换为JSON字符串

      2::JSON.parse();//转换为对象

    对象方法:

      1.toString();

      2.toLocaleString();

      3.toJSON();

      4:valueOf();

        

      

  • 相关阅读:
    Python笔记_第一篇_面向过程_第一部分_7.文件的操作(.txt)
    Python笔记_第一篇_面向过程_第一部分_6.语句的嵌套
    Python笔记_第一篇_面向过程_第一部分_6.其他控制语句(with...as等)
    Python笔记_第一篇_面向过程第一部分_6.循环控制语句(while 和 for)_
    Python笔记_第一篇_面向过程_第一部分_6.条件控制语句(if)
    matplot 代码实例
    python下的MySQLdb使用
    vim操作笔记
    使用k-近邻算法改进约会网站的配对效果
    python 读取文本
  • 原文地址:https://www.cnblogs.com/whybxy/p/7081617.html
Copyright © 2020-2023  润新知