javascript 3月17日
一,javascript的数组
1, var c = new Circle(1,2,3);
c[0] = “adsfasdfasdfasdf”;
但这个例子只是定义了一个名为0的对象属性。
只将数组添加到一个对象中并不会使它成为数组,由构造函数Array()或由一个数组直接量创建的数组具有一些对象所不能享有的特性。
2, JavaScript 中数组元素的个数可以有任意个而且可以在任何时刻改变个数。
3, 数组下标必须小于232-1,所以length 的最大值为232-1。
1) 数组的length值可以读可以写。如果length赋了比当前值小的值,则数组会被截断,长度以外的元素都会丢失。如果赋了比当前值大的值,则给当前数组增加了新的、未定义的元素到元素末尾。
2) 如果用delete运算符删除数组中的元素,虽然那个元素变成未定义,但数组的length属性并不会改变。
4, 数组的方法:
1) join():把数组变成用分割符号的字符串,如:
var a = [1,2,3];
var s = a.join(); //s = “1,2,
var s1=a. join(“\”); //s1 = “1\2\
注:有点像 split()方法的逆运算。
2) reverse()方法,将数组的顺序颠倒。
3) sort()方法
排序,默认是升序。如果按照其他方法排序,要写出具体排序的方式。
如:var a = [33,4,1111,222];
a.sort(); //按照字母排序为:[1111,222,33,4]
a.sort(function(a,b){
return a – b;
});//根据排序返回<0,0,或>0,数组为:[4,33,222,1111]
4) concat(),将调用的数组和参数合并(不修改调用的数组,它只返回了所结合数组的一份拷贝)
5) slice(),参数跟substring()用法一样。返回数组片断(是数组)
6) splice(),插入,或取出并删除,或双向同时进行。
参数可以有任意多个,取出前两个参数指定的数组片断并返回,把原有数组改为取出之后的数组。如果还有其他参数,则把这些参数当作数组元素在取之后的那个index中插入。
7) push()和pop(),类似于堆栈。
i, push():把元素插入数组末尾,返回新长度;
ii, pop(): 把最末尾的元素返回,并弹出。
8) unshift()和shift(),在数组的开头进行插入或弹出,具体用法同push()和pop()。
9) toString()和toSource(),toString()把数组转换为用“,”分割的字符串,同join。
注:如果把script language = “javascript
二,toLocaleString()方法
返回该对象局部化的字符串。Object类定义的默认toLocaleString()方法与toString()完全相同。
但其子类可以定义自己的toLocaleString()方法,返回局部化的值。
例如:Array,Date,Number
三, valueOf()方法
JavaScript 可以计算复数:
var a = new Complex(5,4);
var b = new Complex(2,1);
var c = Complex.subtract(a,b); ——结果为复数
var d = a – b; ——结果为复数的(实部-实部)
(上面这个默认为valueOf()的结果)
Complex类的valueOf()返回复数的实数部分。
在某些环境中,当进行对象到字符串的转换时,方法valueOf()的优先级比toString()高,例如:
alert(“c = ” + c); ——显示“c =
alert(“c = ” + c.toString); ——显示“c = {3,3}”