JavaScript每天必学之数组和对象部分(3)

这里需要注意的是属性和属性值以冒号(:)隔开;多个属性用逗号(,)隔开。对象字面量亦可以定义方法,只需在这个对象的属性上写上function就行,这是一个匿名函数,调用它只需要写上他的方法名()即可。

<script type="text/javascript"> var dog = { name:"husky", age:2, run:function(){ return "123"; } } alert(dog.run());//如果输入dog.run,那么会弹出它后面的function部分的代码 </script>

基本值类型包装器 

js有五种基本的值类型:number、string、Boolean、null和undefined。除了null和undefined外,其他三个都具有所谓的基本包装对象。可以使用内置构造函数Number()、String()和Boolean()创建包装对象。

var num = new Number(10); console.log(typeof num);//object Object()方法 Object() // 返回一个空对象 Object(undefined) // 返回一个空对象 Object(null) // 返回一个空对象 Object(1) // 等同于 new Number(1) Object('foo') // 等同于 new String('foo') Object(true) // 等同于 new Boolean(true) Object([]) // 返回原数组 Object({}) // 返回原对象 Object(function(){}) // 返回原函数

数组部分 

1.Array 对象 

Array 对象:提供对创建任何数据类型的数组的支持。
arrayObj = new Array()
arrayObj = new Array([size])
arrayObj = new Array([element0[, element1[, ...[, elementN]]]])

定义:var arr = [2,3,45,6]; var arr = new Array(2,4,5,7) 

两者是定义没有任何差别,[]的性能高,因为代码短。 

使用数组和对象字面量:var aTest = [];创建数组时,使用数组字面量是个好选择;类似的,对象字面量也可用于节省空间。以下两行是相等的,但是使用对象字面量的更加简短:

var oTest = new Object; //尽量不用 var oTest = { }; //最好的选择,或者var 0Test = [ ];

遍历为了达到遍历数组的最佳性能,推荐使用经典的 for 循环。

var list = [1, 2, 3, 4, 5, ...... 100000000]; for(var i = 0, l = list.length; i < l; i++) { console.log(list[i]); }

上面代码有一个处理,就是通过 l = list.length 来缓存数组的长度。 

Array 构造函数 

由于 Array 的构造函数在如何处理参数时有点模棱两可,因此总是推荐使用数组的字面语法 - [] - 来创建数组。 

因此下面的代码将会使人很迷惑:
 new Array(3, 4, 5); // 结果: [3, 4, 5]
new Array(3) // 结果: [],此数组长度为 3
应该尽量避免使用数组构造函数创建新数组。推荐使用数组的字面语法。它们更加短小和简洁,因此增加了代码的可读性。 

Array数组的属性 

Array数组的3个属性:length属性、prototype属性、constructor属性 

1.length属性 

Length属性表示数组的长度,即其中元素的个数。因为数组的索引总是由0开始,所以一个数组的上下限分别是:0和length-1。和其他大多数语言不同的是,JavaScript数组的length属性是可变的,这一点需要特别注意。 

2.prototype属性 

返回对象类型原型的引用。prototype属性是object共有的。 

对于Array数组对象,以以下例子说明prototype属性的用途。
 给数组对象添加返回数组中最大元素值的方法。要完成这一点,声明一个函数,将它加入Array.prototype,并使用它。

function array_max() { var i,max=this[0]; for(i=1;i<this.length;i++) { if(max<this[i]) max=this[i]; } return max; } Array.prototype.max=array_max; var x=new Array(1,2,3,4,5,6); var y=x.max();

该代码执行后,y保存数组x中的最大值,或说6。 

3.constructor属性 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wzjxfy.html