Object类型

JavaScript学习笔记

Object类型

  1. 创建Object类型实例
    创建 Object 实例的方式有两种。第一种是使用 new 操作符后跟 Object 构造函数,如下所示:
    var person = new Object();
    person.name="dachuiwang";
    person.nickname="diaosi";
    
    另一种方式是使用对象字面量表示法。对象字面量是对象定义的一种简写形式,目的在于简化创建
    包含大量属性的对象的过程,如下所示:
    var person = {
        name:"dachuiwang",
        nickname:"diaosi"
    }
    
  2. 访问对象属性
    一般来说,访问对象属性时使用的都是点表示法,这也是很多面向对象语言中通用的语法。不过,在 JavaScript中也可以使用方括号表示法来访问对象的属性。在使用方括号语法时,应该将要访问的属性以字符串的形式放在方括号中,如下面的例子所示。
    alert(person["name"]); //"dachuiwang" 
    alert(person.name); //"dachuiwang"
    
    从功能上看,这两种访问对象属性的方法没有任何区别。但方括号语法的主要优点是可以通过变量
    来访问属性,例如:
    var propertyName = "name"; 
    alert(person[propertyName]); //"dachuiwang"
    
    如果属性名中包含会导致语法错误的字符,或者属性名使用的是关键字或保留字,也可以使用方括
    号表示法。例如:
    person["first name"] = "dachuiwang"; 
    
    由于"first name"中包含一个空格,所以不能使用点表示法来访问它。然而,属性名中是可以包
    含非字母非数字的,这时候就可以使用方括号表示法来访问它们。
    通常,除非必须使用变量来访问属性,否则我们建议使用点表示法。

Array类型

  1. 创建Array类型实例
    创建数组的基本方式有两种。第一种是使用 Array 构造函数,如下面的代码所示。
    var colors = new Array(); 
    
    如果预先知道数组要保存的项目数量,也可以给构造函数传递该数量,而该数量会自动变成 length
    属性的值。例如,下面的代码将创建 length 值为 20 的数组。
    var colors = new Array(20); 
    
    也可以向 Array 构造函数传递数组中应该包含的项。以下代码创建了一个包含 3 个字符串值的数组:
    var colors = new Array("red", "blue", "green");
    
    第二种当然是字面量表示法啦
    var colors = ["red", "blue", "green"];//创建一个包含三个字符串的数组
    var names = [];//创建一个空数组
    var values = [1,2,];//不要这样写,这样会创建一个2或3项的数组
    
    array.length可以查看数组长度,当然也可以利用它来添加数组项,例如:
    var colors = ["red", "blue", "green"];
    colors[3] = ["yellow"];
    colors[4] = ["pink"];
    alert(colors.length);//5
    
    皮一点的话
    colors[99] = ["black"];
    alert(colors.length);//100
    
    不过这样3~98都是不存在的,都是undefined
  2. 栈方法
    栈是一种 LIFO(Last-In-First-Out,
    后进先出)的数据结构,也就是最新添加的项最早被移除。而栈中项的插入(叫做推入)和移除(叫做
    弹出),只发生在一个位置——栈的顶部。ECMAScript 为数组专门提供了 push()和 pop()方法,以便
    实现类似栈的行为。
    var colors = new Array();//创建一个数组
    var count = colors.push("red","green"); // 推入两项
    alert(count); //2 
    count = colors.push("black"); // 推入另一项
    alert(count); //3 
    var item = colors.pop(); // 取得最后一项
    alert(item); //"black" 
    alert(colors.length); //2
    
  3. 队列方法
    栈数据结构的访问规则是 LIFO(后进先出),而队列数据结构的访问规则是 FIFO(First-In-First-Out,
    先进先出)。队列在列表的末端添加项,从列表的前端移除项。由于 push()是向数组末端添加项的方法,
    因此要模拟队列只需一个从数组前端取得项的方法。实现这一操作的数组方法就是 shift(),它能够移
    除数组中的第一个项并返回该项,同时将数组长度减 1。结合使用 shift()和 push()方法,可以像使
    用队列一样使用数组。
    var colors = new Array(); //创建一个数组
    var count = colors.push("red", "green"); //推入两项
    alert(count); //2 
    count = colors.push("black"); //推入另一项
    alert(count); //3 
    var item = colors.shift(); //取得第一项
    alert(item); //"red" 
    alert(colors.length); //2 
    
    ECMAScript 还为数组提供了一个 unshift()方法。顾名思义,unshift()与 shift()的用途相反:
    它能在数组前端添加任意个项并返回新数组的长度。因此,同时使用 unshift()和 pop()方法,可以
    从相反的方向来模拟队列,即在数组的前端添加项,从数组末端移除项,如下面的例子所示。
    var colors = new Array(); //创建一个数组
    var count = colors.unshift("red", "green"); //推入两项
    alert(count); //2
    var item = colors.pop(); //取得最后一项
    alert(item); //"green" 
    alert(colors.length); //2
    

未完待续

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值