码迷,mamicode.com
首页 > 其他好文 > 详细

第五章 引用类型--笔记2(有遗留问题,答案见22章1.1节)

时间:2016-02-18 22:43:11      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:

Array类型的特点:

  1. 是数据的有序列表
  2. 可以保存任何类型的数据
  3. 数组大小可以动态调整
  4. 数组对象的创建即可以用构造函数法 var arr = new Array(); 也可以用数组字面量法 var arr = [];,用数组字面量法和用对象字面量法一样,都不会再调用相应的构造函数
  5. 注意:创建数组时,最后一项后面不要再加逗号,否则在ie8及更早版本中会比在其他浏览器中多一个值为undefined的项
  6. 数组的length属性不仅可以获取数组长度同时也可以设置数组长度,如果设置的长度大于原有的数字长度,那么新增的项的值为undefined

数组检测:

  1. 用instanceof来检测,该方法仅限于单一的全局执行环境
  2. 对于将一个数组从一个框架传入到另外一个框架,用instanceof就不行了,ECMAScript 5新增了Array.isArray()方法可以最终确定某个值到底是不是数组,而不管它在哪个全局执行环境中创建。支持该方法的浏览器有IE9+,firefox4+,safari5+,opera10.5+和chrome,要在不支持该方法的浏览器中准确检测数组,以后再说。

转换方法:

  1. 所有对象都具有toString() /valueOf() / toLocaleString()方法
  2. 数组的toString()和valueOf()方法会返回相同的值,会返回一个由数组中每一项的字符串表示的以逗号分隔的字符串;创建这个字符串时会调用数组每一项的toString()方法
  3. 直接alert()数组会隐式地调用数组的toString()方法  
  4. 数组的toLocaleString()也会调用数组每一项的toLocaleString()方法,所有有时候它的结果与toString()和valueOf()不同,案例如下图:
  5. 技术分享
  6. 以上三种方法都是以逗号分隔数组项的字符串表示,而使用join()方法则可以定义分隔符,如join("-"),获得的字符串就是以 - 连接的;如果不传入参数或者传入undefined,则还是以逗号作为分隔符,但在ie7及更早版本会错误的以undefined作为分隔符。
  7. 如果数组中的某一项的值是null或undefined,那么这个值在join()/toString()/toLocaleString()/valueOf()返回的结果中以空字符串表示。

第五章 引用类型--笔记2(有遗留问题,答案见22章1.1节)

标签:

原文地址:http://www.cnblogs.com/huyang0528/p/5199311.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!