zoukankan      html  css  js  c++  java
  • JS对象总结

    一、创建对象  

      三种方式:对象直接量、关键字new和Object.create()函数

      Object.create()的第一个参数是这个对象的原型,

    二、属性的查询

    三、删除属性

      delete运算符可以删除对象的属性,只能删除自有属性, 不能删除继承属性。 

        // delete只是断开属性和宿主对象的联系,由于已经删除的引用依然存在
        // 因此会造成内存泄漏,所以在销毁对象时,要遍历属性中的属性,依次删除
        var a = {b:{x:1}};
        var c = a.b;
        delete a.b;
        console.log(c.x); // 1
        console.log(c); // {x:1}
        console.log(a); // {}

      delete不能删除那些可配置性为false的属性  

        console.log(delete Object.prototype); // false,该属性是不可配置的

    四、检测属性

      1.in运算符

        in运算符左侧是属性名(字符串),右侧是对象。如果对象的自有属性或继承属性中包含这个属性就返回true。   

        var o = {x:1};
        console.log("x" in o); // true
        console.log("y" in o );// false
        console.log("toString" in o); // true o继承toString属性

      2.对象的hasOwnProperty()方法用来检测给定的名字是否是对象的自有属性,对于继承属性它会返回false。

      3.对象的propertyIsEnumerable()检测是否是自有属性并且这个属性是否是可枚举的,两个条件同时满足才会返回true; 

     var o = {};
        o.x = 1;
        console.log(o.propertyIsEnumerable("x")); // true;

    五、对象的三个属性

      1.原型属性

        var p = {x:1};
        var q = Object.create(p);
        console.log(Object.prototype.isPrototypeOf(p)); //true
        console.log(Object.prototype.isPrototypeOf(q)); // true

      2.类属性

      3.可扩展性

    六、对象方法

      valueOf()方法

        将对象转换为某种原始值而非字符串的时候用得到它,例如Date.valueOf()。

    七、数组方法

      slice()返回指定数组的一个片段或者子数组。包左不包右,如果参数出现了负数,代表相对于最后一个元素的位置,最后一个元素的位置为-1;

      

  • 相关阅读:
    洛谷 P1244 青蛙过河
    洛谷 P1004 方格取数
    洛谷 CF894A QAQ
    【题解】洛谷 P5506 封锁
    洛谷 P3884 [JLOI2009]二叉树问题
    Bzoj4894 天赋
    Bzoj4893 项链分赃
    Bzoj3583 杰杰的女性朋友
    POJ3233 Matrix Power Series
    UOJ#204 【APIO2016】Boat
  • 原文地址:https://www.cnblogs.com/sstone/p/8493303.html
Copyright © 2011-2022 走看看