JavaScript权威指南之学习笔记(第六版)(5)

2019-01-07 18:26

ed

Var primes=[2,3,4]; Var misc=[1.1,true,”ik”]; 直接量的值还可以是表达式 Var base=23;

Var table[base,base+3,base+4]; 直接量还可以是对象直接量或数组直接量 Var b=[[1,{x:1,y:2}],2];

未定义的元素通过忽略逗号之间的元素值来创建

Var count=[1,,2];//数组有三个元素,中间的元素没有赋值 Var undef=[,,];//数组有2个元素,全部为没有赋值

用Array()构造函数创建数组

Var a=new Array():

Var b=new Array(3,2.3,4,”saf”,”sf”);

Var c=new Array(10);//这里的每个元素都没有赋值为undefin

7.6数组元素的读写

7.6.1添加数组新元素

JS中可以在任何时刻改变元素个数,而且由于JS数组是稀疏的,

即数组的下标不必落在一个连续的数字范围内,只有那些真正存储在数组中的元素才能由JS实现分配内存。

例 a[0]=1; a[100]=2;

这里JS解释器只给数组下标为0和100的元素分配内存,而试图

访问其它的元素时将得到一个undefined

7.6.2删除数组元素

用delete运算符把一个元素设置为一个undefined值,但是元素

本身还继续存在,要真正地删除一个元素,那么必须使用一个数组方法。(当用方法移出了一个元素后,再去访问该元素,虽然也会返回一个undefined值,但用length属性去测试会发现长度变短了,说明是真正的移出了一个元素;但是仅仅用delete运算符去删除一个元素,用length属性去测试时会发现长度没有变,说明没有真正移出元素!)

7.6.3.数组长度(length属性) 7.6.5截断或增长数组

Length属性是可读可写的,通过修改length的值可以截断和增长

数组的长度。

7.6.6多维数组

JS不支持真正的数组,它支持数组的数组,即变长数组! Var a=new Array(10);

For(var b=0;b

A[b]=new Array(10);

7.7数组方法

参考API去

7.8类似数组的对象

把任何具有一个length属性以及相应的非负整数属性的对象作为一种

数组,这是合理。虽然不能调用数组的方法或者length属性期待特殊的行为,仍然可以用遍历一个真实数组代码来遍历它们。事实证明,许多数组对于类似数组的对象和真正的数组对象都是一样有效的。只要不尝试对类似数组的对象添加元素或者改变length属性。()

例:

var a={}; var i=0;

while(i<10) }

{

a[i]=1*I; i++;

a.length=i; var total=0;

for(var j=0;j

total+=a[j];

结果:45

a.length=9;//改变length属性想改变类似对象数组的元素个

数。

for(var j=0;j

total+=a[j];

结果为:45

上述改变为什么不成功?因为这些操作对类似数组的对象没用,想通过

改变length来改变类似对象数组的个数,那是不可能的,它仅仅是一个对象的属性。不能作任何用处实际上! 八、函数

8.1函数定义和调用

JS也不会检测传递的数据是不是那个函数所要求的类型,也不会检测传

递给它的参数个数是否正确。如果传递的参数比函数需要的个数多,那么多余的值会忽略掉; 如果传递的参数比函数需要的个数少,那么所被忽略的参数就被赋予undefined。

8.1.2函数直接量 或

Var f=fucntion fact(x) {return x*x;}//也可以加函数名字

Var f=function(x) {return x*x;}

Var test=(function(x) {return x*x;})(10);//定义后马上调用

8.1.3函数命名

函数名小写字母开始!

8.2函数参数

8.2.1.可选参数

它是利用了当传递给函数的参数个数小于函数的参数时,其它的参数有一个undefined值。要用可选参数时,必须能够为忽略掉的参数分配一个默认的合理值。

Function test(o,/*optional*/ a){

a=a || [];

for(var property in o) a.push(property); return a; }

注意,在使用可选参数时,应该确保把可选参数放在参数列表的末尾。

8.2.2.可变长度的参数列表:arguments对象

arguments并不是一个数组,它是一个对象,它虽然定义了带编码

的元素和length属性。arguments对象允许完全地存取那些实际参数值,即使某些或全部参数还没有被命令。例如有一个函数f,它定义了一个参数x,但是调用f时传递给了它两个参数,那第个一参数可以用x或arguments[0]可以存取第一个参数,而第二个实际参数只能通过arguments[1]来存取。


JavaScript权威指南之学习笔记(第六版)(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017-3-2监理例会纪要

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: