zoukankan      html  css  js  c++  java
  • 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类型

  • 相关阅读:
    升级windows 11小工具
    windows 10更新升级方法
    您需要了解的有关 Oracle 数据库修补的所有信息
    Step by Step Apply Rolling PSU Patch In Oracle Database 12c RAC Environment
    Upgrade Oracle Database Manually from 12.2.0.1 to 19c
    如何应用版本更新 12.2.0.1.210420(补丁 32507738 – 2021 年 4 月 RU)
    xtrabackup 安装、备份和恢复
    Centos_Lvm expand capacity without restarting CentOS
    Centos_Lvm_Create pv vg lv and mount
    通过全备+relaylog同步恢复被drop的库或表
  • 原文地址:https://www.cnblogs.com/fanlinqiang/p/11923175.html
Copyright © 2011-2022 走看看