2.对象
JavaScript中的对象是一种类,类名是object
其具有其特定属性和方法。
主要包括:Number类、String类、Array类、Date类等。
2.1 new构造对象,以及Number类
可以调用new方法构造一个对象:
var a = new Number(13);
//type of a is an object
var b= new Number('d');
//b = NaN ,b is an object but not a number object
number类的主要方法有:
var c=new Number(33.333);
c.toFixed(2);//保留两位小数 33.33
c.toExponential();//科学计数法 3.3333e+2;
valueof(c);//返回一个基本类型的数字(而非数字对象)
2.2 String类
String类的主要方法有:
var a=new String("this is a string object");
var b=new String("!");
var c = a.length;//字符串长度
a.charAt(0);//获取位置0的字符串: t
a.concat(b);//拼接a和b:this is a string object!
//concat也可以用来连接数组
a.indexOf("a");
a.lastIndexOf("b");
a.localeCompare(b);//判断是否相同
a.substring(0,5);//子字符串
a.split(" ");//将得到长度为5的数组 "this" "is"...
另外,
replace(search,replacement);//替换子字符串
//把所有的a改为e:方法一
var regS = new RegExp("a","g");//Globally 全部替换
var z = x.replace(regS, "e");
//把所有的a改为b:方法二
x.replace(/a/g, "b");
另外,注意typeof 返回的不是object而是String(…)
2.3 数组类
常见方法:
var a = new Array();//空数组
var b = new Array(4);//长度为5的未确定元素的数组
var c = new Array(1,2,3);//长度为3
d = c.length;//长度
c.sort();//排序
c.reverse();
//和Java语法有一些差别的:
for(i in x){//for循环
// do something with x[i]}
d = c.join();//d是一个字符串: "3,1,4"
c.sort(comparator);//指定排序,comparator是自己构造的函数
//和Java方法构造上不太一样的
c.push(3);//栈操作
e = c.pop();//栈操作
c.unshift(2);//在最前面插入2
c.shift();//取出最前面的数
c.slice(2,4);//取子数组
c.splice(4,2,1,7);//从位置4开始,删除2个元素,然后在这个位置插入1和7
2.4 日期类
常见方法:
var d = new Date();
var a = d.getMonth()+1;//月份
var b = d.getDate();//日期
d.getDay();//星期几,从星期天开始算
d.getFullYear();//年份
d.getHours();//小时。得到分钟和秒钟的方法类似
d.setHours();//设置时间
2.5 Math类
常见方法:
e = Math.E;//自然对数的底数
Math.abs(e);//e的绝对值
Math.min(2,4,8);//最小值
Math.pow(3,7);//幂运算
Math.round(3.14159);//四舍五入 得到3
Math.random();//(0,1)区间内的随机数