JavaScript学习:引用类型

引用类型

定义

    引用类型的即对象)是引用类型的一个实例。引 用类型有时候也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法。

1、引用类型-Object

    大多数引用类型值都是 Object 类型的实例;而且,Object 也是 ECMAScript 中使用多的一个类型。

// 创建 Object 实例的方式有两种。

// 1.使用 new 操作符后跟 Object 构造函数
var obj = new Object();
obj.name = "Tom";
obj.age = 20;

//2.用对象字面量表示法
var obj1 = {
    name: "Tom",
    age: 20
}

1、在通过对象字面量定义对象时,实际上不会调用 Object 构造函数

2、对象字面量是向函数传递大量可选参数的首选方式,这种传递参数的模式适合需要向函数传入大量可选参数的情形。一般来讲,命名参数虽然容易处理,但在有多个可选参数的情况下就会显示不够灵活。好的做法 是对那些必需值使用命名参数,而使用对象字面量来封装多个可选参数。 

对象属性访问方法及方法的不同

  • 点(.)
  • 方括号[]
var person = new Object(); 
person.name = "Nicholas"; 
person["age"] = 29; 
//方括号访问
console.log(person["name"]);//Nicholas
//.访问
console.log(person.age);//29
  • 区别

         方括号语法的主要优点是可以通过变量来访问属性,例如:  

var propertyName = "name";
console.log(person[propertyName]);  //"Nicholas" 

       如果属性名中包含会导致语法错误的字符,或者属性名使用的是关键字或保留字,也可以使用方括号表示法。例如:

person["first name"] = "Nicholas"; 

     由于"first name"中包含一个空格,所以不能使用点表示法来访问它。然而,属性名中是可以包含非字母非数字的,这时候就可以使用方括号表示法来访问它们。

通常,除非必须使用变量来访问属性,否则我们建议使用点表示法。 

2、Array

       除了 Object 之外,Array 类应该是 ECMAScript中最常用的类型了。

  • 特点:

ECMAScript 数组的每一项可以保存任何类型的数据。也就是说,可以用数组的第一个位置来保存字符串,用第二位置来保存数值,用第三个位置来保存对象, 以此类推。而且,ECMAScript 数组的大小动态调整的,即可以随着数据的添加自动增长以容纳新增数据。

  • 创建数组的基本方式:
//1.第一种是使用 Array 构造函数,
var colors = new Array();
//如果预先知道数组要保存的项目数量,也可以给构造函数传递该数量,而该数量会自动变成 length 属性的值。
var colors = new Array(20); 
//也可以向Array 构造函数传递数组中应该包含的项。以下代码创建了一个包含3个字符串值的数组: 
var colors = new Array("red", "blue", "green"); 
//另外,在使用 Array 构造函数时也可以省略 new 操作符。
 var colors = Array(20);  创建一个包含 20 项的数组

//2.创建数组的第二种基本方式是使用数组字面量表示法。
//数组字面量由一对包含数组项的方括号表 示,多个数组项之间以逗号隔开,如下所示:  
var colors = ["red", "blue", "green"]; // 创建一个包含 3 个字符串的数组
var names = [];                      // 创建一个空数组 

1.与对象一样,在使用数组字面量表示法时,也不会调用 Array 构造函数.

2.数组的 length 属性很有特点——它不是只读的。因此,通过设置这个属性,可以从数组的末尾移 除项或向数组中添加新项。

  • 检测数组

 Array.isArray()

if (Array.isArray(value)){     //对数组执行某些操作 } 
  • 栈方法

栈是一种 LIFO(Last-In-First-Out, 后进先出)的数据结构,也就是新添加的项早被移除。而栈中项的插入(叫做推入)和移除(叫做 弹出),只发生在一个位置——栈的顶部。ECMAScript为数组专门提供了 push()和 pop()方法,以便 实现类似栈的行为。 push

  • 队列方法

队列数据结构的访问规则是 FIFO(First-In-First-Out, 先进先出)。队列在列表的末端添加项,从列表的前端移除项。由于 push()是向数组末端添加项的方法, 因此要模拟队列只需一个从数组前端取得项的方法。实现这一操作的数组方法就是 shift(),它能够移除数组中的第一个项并返回该项,同时将数组长度减 1。结合使用 shift()和 push()方法,可以像使用队列一样使用数组。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值