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

    ## JS对象
    - 对象是一种复合数据类型
    - 它里面可以装任意数据类型的属性
    #### 对象的分类
    1. 内建对象
        - 内建对象指由ES标准定义的对象,任何对ES标准的实现都可以使用这些对象
        - 比如: Math String Numer Boolean RegExp
    2. 宿主对象
        - 宿主对象指由JS运行环境为我们提供的对象.目前来说就是指浏览器为我们提供的对象
        - 比如: BOM对象 DOM对象
        - window document console
    3. 自定义对象
        
    #### 对象的操作
    - 创建一个对象
        - 使用 new 关键字调用的函数称之为构造函数
        - var 对象 = new Object( );
        - var 对象 = {}
    - 添加属性
        - 对象.属性名=属性值
    - 读取属性
        - 对象.属性名
    - 修改属性
        - 对象.属性名=新属性值
    - 删除属性
        - delete 对象.属性
    - 检查对象是否含有某个属性
        - 使用 in 运算符. 如果有则返回true
        - "属性名" in 对象

    #### 常用添加对象方式
    - 每一组名值对用逗号隔开.
    - 最后一个属性值后面不要加逗号
    - 语法:  var obj = {属性名:属性值,属性名:属性值,属性名:属性值}

    #### 对象的属性名和属性值
    #####属性名
    - 对象的属性名没有任何要求.也不需要遵循标识符的规范
    - 可以起任何稀奇古怪的名字
    - 但在开发中请遵循标识符规范

    ##### 属性值
    - 属性值可以是任意数据类型
    - 也可以是一个 Object
    - 添加属性的第一种方式
        - 对象.属性名=属性值
    - 添加属性的第二种方式
        - 对象["属性名"]=属性值
        - 这种方式的[]里可以传任何稀奇古怪的属性名

    #### 对象属性的枚举(遍历)
    - 使用for..in语句对一个对象中的属性进行枚举
    - 语法: ````for ( 任一变量 in 对象 ){ };````
    - 对象中有几个属性,循环体就会执行几次
    - 每次执行时,都会将一个对象中的属性名赋值给变量

    #### 基本数据类型和对象的区别
    - 程序在运行时,内存分为两种结构
        - 栈内存
        - 堆内存
    - 基本数据类型的值,是直接保存到栈内存中的
    - 基本数据类型的值,都是互相独立的,修改一个不会影响到其他的变量

    - 对象是保存在堆内存中的
    - 而在变量中保存的是对象的引用(堆内存的地址)
    - 我们是通过引用来操作对象的,当修改一个对象时有可能会影响其他的对象

    **对两个基本数据类型做相等比较时,比较的是数据的值**

    **而两个引用数据类型做相等比较时,比较的是对象的地址**
         
    **如果两个对象一模一样但地址值不同也会返回false**

    #### 垃圾回收 (GC)
    - 在JS中有自动的垃圾回收机制.浏览器会自动将没有被引用的对象清除出内存
    - 回收的工作由浏览器自动完成.而我们只需要将一些不再使用的对象设置为null即可

    #### 对象的原型
    1. 对象的原型可以再创建一个对象
    2. 通过对象创建会在原本的对象原型里创建出新的对象
    3. 而原型通过属性直接创建是在原来函数里

    ![](http://i.imgur.com/wZYvDEP.png)

    #### 对象的继承
    1. 父构造函数定义一个对象
    2. 子构造函数也定义一个对象
    3. 子的构造函数的原型等于父构造函数的对象
    4. 则子和父有了继承的关系
    5. 即便子构造函数中没有父的内容,通过调用父函数的内容一样可以得到结果

  • 相关阅读:
    LIBSVM
    tf-idf
    DIV+CSS例子
    网页背景设置
    获取JDBC中的ResultSet的记录的条数
    SQL 基本语句
    经典SQL语句大全
    JS(截取字符串,显示当前系统时间yyyy-MM-dd,从文本框得到的数值计算)
    JavaScript实现全排列
    Java发送邮件
  • 原文地址:https://www.cnblogs.com/huifang/p/7341938.html
Copyright © 2011-2022 走看看