• javascript-引用类型


    引用类型

    引用类型的值(对象)是引用类型的一个实例。在 ECMAScript 中,引用类型是一种数据结构, 用于将数据和功能组织在一起。它也常被称为类,但这种称呼并不妥当。尽管 ECMAScript 从技术上讲是一门面向对象的语言,但它不具备传统的面向对象语言所支持的类和接口等基本结构。引用类型有时候也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法。

    如前所述,对象是某个特定引用类型的实例。新对象是使用 new 操作符后跟一个构造函数来创建的。构造函数本身就是一个函数,只不过该函数是出于创建新对象的目的而定义的。请看下面这行代码:

        var person = new Object();
    

    这行代码创建了 Object 引用类型的一个新实例,然后把该实例保存在了变量 person 中。使用 的构造函数是 Object,它只为新对象定义了默认的属性和方法。ECMAScript 提供了很多原生引用类 型(例如 Object),以便开发人员用以实现常见的计算任务。

    全局对象

    全局对象的属性时全局定义的符号,JavaScript程序可以直接使用。当JavaScript解释器启动时(或者任何浏览器加载新页面的时候),他将创建一个新的全局对象,并给他一组定义的初始属性:

    • 全局属性,如:undefinedInfinityNaN
    • 全局函数,如:isNaN()parseInt()eval()
    • 构造函数,如:Date()RegExp()String()Object()Array()
    • 全局对象,如:MathJSON

    全局对象的初始属性并不是保留字,但他们应该当作保留字来对待。如果代码声明了一个全局变量,那么这个变量就是全局对象的一个属性。

    包装对象

    JavaScript对象是一种复合值:它是属性及已命名值的集合。通过.(或[])来引用属性值。当属性值是一个函数的时候,称其为方法。如:

    JSON['parse'](`{"a":1}`)
    JSON.parse(`{"a":1}`)
    

    存取字符串、数字或布尔值的属性时创建的临时对象称作包装对象。

    let str = 'test'
    str.length = 1
    console.log(str.length); // 4
    str.len = 4; // 创建了一个临时字符串对象`new String(str)`,并给其`len`属性赋值,随机销毁这个对象
    var t = str.len; // 通过原始的(没有被修改过)字符串值创建一个新的字符串对象,并尝试读取其`len`属性,这个值自然不存在,表达式结果为undefined
    console.log(t); // undefined
    

    !> 对于基本类型来说,如果使用字面量的方式,那么这个变量只是个字面量,只有在必要的时候才会转换为对应的临时对象(nullundefined没有包装对象),一旦引用结束,这个新创建的临时对象就会被销毁
    需要注意的是,可以通过String()Number()Boolean()构造函数来显示的创建包装对象:

    var a = new String('abc');
    a.len = 9;
    console.log(a.len); // 9
    

    Object类型

    Array类型

  • 相关阅读:
    JDBC 关闭数据库连接与自动提交【转】
    va注解应用实例
    Java IO流操作汇总: inputStream 和 outputStream【转】
    dom4j,json,pattern性能对比【原】
    JSP中setattribute与setParameter的区别
    setAttribute()和getAttibute(),getParameter()
    org.hibernate.MappingException: Unknown entity
    SQL保留关键字不能用作表名
    缺jstl.jar包导致的代码出现异常
    sessionFactory
  • 原文地址:https://www.cnblogs.com/fanlinqiang/p/11923175.html
Copyright © 2020-2023  润新知