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

    除了 字符串,数字,布尔值(true / false),null 和 undefined 以外,JS中的值都是对象。

    对象是属性的无序集合,每个属性都是一个 名/值对。属性名都是字符串,因此可以把对象看作是字符串到值的映射。在其他语言中,也叫 散列(hash),散列表(hashTable),字典(Dictionary),"关联数组"(associative array)。

    属性包括名字和值,属性名可以是包含空字符串在内的任意字符串,但对象中不能存在两个同名的属性。

    属性值可以是任意Javascript值。

    PS:

    集合的有序、无序是指插入元素时,保持插入的顺序性,也就是先插入的元素优先放入集合的前面部分。
    而排序是指插入元素后,集合中的元素是否自动排序。(例如升序排序)

    Java的HashMap、 HashSet、 HashTable 等 基于哈希存储方式的集合是无序的。其它的集合都是有序的。而TreeMap TreeSet 等集合是排序的。

    创建对象的方式:

    (1)对象直接量:是由若干 名/值对组成的映射表,名/值对中间用冒号分隔,名/值对之间用逗号分隔,整个映射表用大括号括起来。

    eg: var book = { "main title" : "JavaScript",

              author : { firstname : "David",

                 subname: "test"

                                        }

                              };

        属性名都是字符串,包括空字符串,一般不用引号括起来,但是如果属性名包含一些特殊字符或者是保留字,则必须用引号括起来。

    (2)通过 new 创建对象

        new 运算符创建并初始化一个新的对象。 关键字 new后面紧跟一个函数调用。这里的函数称为 构造函数(Constructor)

       var o = new Object();

    (3) 原型 Prototype

      每一个Javascript对象(null除外)都和另一个对象相关联。另一个对象就是原型每一个对象都从原型继承属性

     所有通过对象直接量建立的对象都具有同一个原型对象,通过代码 Object.prototype获得对原型对象的引用。

      通过new关键字和构造函数调用  创建的对象的原型 是 构造函数的prototype属性的值。即 new Object()创建的对象的原型是 Object.prototype属性对应的值。new Array()创建的对象的原型是 Array.prototype属性对应的值。

    prototype是一个对象的属性,比如 Object.prototype是对象Object的属性,Array.prototype是对象Array的属性。

    (4)Object.create()

    Object.create()是一个静态函数,该函数第一个参数是新创建的对象的原型,第二个参数是可以的,用于进一步描述对象的属性。

    eg:

    1       var o1 = Object.create({x:1, y:2});  // 对象 o1 继承了原型对象{x:1, y:2}的属性x,y。
    2 
    3       var o2 = Object.create(null); //o2是一个没有原型的新对象,不继承任何属性和方法
    4 
    5       var o3 = Object.create(Object.prototype); //o3是一个空对象,原型是 Object.prototype.
  • 相关阅读:
    vue+drf+第三方滑动验证码的接入实现
    基于k8s Ingress Nginx+OAuth2+Gitlab无代码侵入实现自定义服务的外部验证
    [转] Java 命名规范
    npm 下载慢问题解決方案
    java float跟double类型区别
    select、input为什么不能使用after before
    es6数组方法详解
    pytest-pytest.main()运行测试用例,pytest参数
    Selenium截屏 图片未加载的问题解决--【懒加载】
    selenium元素定位中的iframe切换问题总结
  • 原文地址:https://www.cnblogs.com/ly01/p/8794049.html
Copyright © 2011-2022 走看看