一、对象实例的创建
//方法1
var per=new Object();
per.name='aaa';
per.age=12;
alert(per.name); // 推荐
alert(per['name']);
alert(per['my name']); //正确,属性名中包含会导致语法错误的字符,或者属性名使用的是关键字或保留字,使用方括号表示法。属性名中是可以包含非字母非数字的,这时候就可以使用方括号表示法来访问它们
alert(per.my name); //错误
//方法2
var per={
name:'aaa',
age:12
}
//方法3
function per(name,age){
this.name=name;
this.age=age;
}
var aaa=new per('aaa',12);
alert(aaa.name);
alert(aaa.age);
二、数组对象
// 检测数组
1、value instanceof Array
2、Array.isArray(value)
// 数组转换为字符串
1、arr.join(' ');
2、arr.toString();
// 添加元素和删除元素
var arr1=[1,2];
var arr2=[3,4];
var arr=arr1.push(arr2); //返回修改后数组的长度 arr=4 arr1=[1,2,3,4]
var arr=arr1.pop(); //返回被移除的元素 arr=4 arr1=[1,2,3]
var arr=arr1.shift(); //移除数组第一项,并返回该项
var arr=arr1.unshift(arr2); //在数组前端推入元素,返回数组长度
// 数组排序
var values = [1, 2, 3, 4, 5];
values.reverse(); // 数组反转 [5,4,3,2,1]
function compare(value1, value2) {
if (value1 < value2) {
return -1;
} else if (value1 > value2) {
return 1;
} else {
return 0;
}
return value2 - value1;
}
var values = [0, 1, 5, 10, 15];
values.sort(compare); // 升序 [0, 1, 5, 10, 15]
// 操作方法
var arr1=[1,2];
var arr2=[3,4];
arr1.concat(arr2); // 返回新数组
arr1.slice(返回项的起始,结束位置);
// 例子:
arr1=[1,2,3,4];
arr1.slice(1,2); //[2]
arr1.splice(操作的开始索引,删除的元素个数,添加的元素); // 返回被删除的元素组成的数组
// 例如:
arr1=[1,2];
arr1.splice(1,0,[3,4]) // [1,3,4,2]
arr.indexOf(要查找的项,查找起点位置的索引(可选)) //查找的项需使用全等(===)来比较
// 例子:
var numbers = [1,2,3,4,5,4,3,2,1];
alert(numbers.indexOf(4)); // 3
alert(numbers.lastIndexOf(4)); // 5
// 数组遍历
var numbers = [1,2,3,4,5,4,3,2,1];
var everyResult = numbers.every(function(item, index, array){
return (item > 2);
});
alert(everyResult); //false
var someResult = numbers.some(function(item, index, array){
return (item > 2);
});
alert(someResult); //true
var numbers = [1,2,3,4,5,4,3,2,1];
var filterResult = numbers.filter(function(item, index, array){
return (item > 2);
});
alert(filterResult); //[3,4,5,4,3]
var numbers = [1,2,3,4,5,4,3,2,1];
var mapResult = numbers.map(function(item, index, array){
return item * 2;
});
alert(mapResult); //[2,4,6,8,10,8,6,4,2]
三、字符串对象
var str='hello';
var len=str.length; //字符串长度
str.indexOf('world'); //查询指定字符串是否在str中出现,未出现返回-1,出现返回出现开始的位置
str.lastIndexOf('world'); //从字符串尾部开始查询
str.match('hello'); //匹配字符串是否存在,存在就将字符串打印出来,不存在返回空
str.replace('hello','hello world'); //将hello改成hello world
str.toUpperCase(); //将字符串改成大写
str.toLowerCase(); //将字符串改成小写
str.charAt(2); //返回指定位置的字符,l,找不到返回一个空字符串
str.chrCodeAt(2); //返回指定位置的字符的 Unicode 编码
String.fromCharCode(72,69,76,76,79); //接受一个指定的 Unicode 值,然后返回一个字符串; HELLO
str.substr(0,3); //从0开始截取长度为3的字符串 hel, str不改变(不建议使用)
var str1='h e l l o';
var arr=str1.split(' '); //将字符串转换为数组
var str2=str1.concat(str); //方法将把它的所有参数转换成字符串,然后按顺序连接到字符串str1的尾部,并返回连接后的字符串。str1本身并没有被更改。
str.slice(0,3); //截取str从0开始到2的字符串 hel ,str不改变
四、Math对象
Math.round(2.5); // 四舍五入 3
Math.floor(2.5); // 向下取整 2
Math.ceil(2.5); // 向上取整 3
Math.random(); // 从0到1的随机数
Math.floor(Math.random()*(max-min+1))+min // 生成在min和max之间的随机整数
五、Date日期对象
var time=new Date(); //获取当前时间
var time=new Date(5,30,2010); //设置时间
time.getFullYear(); //获取年份
time.getDate(); //获取星期几;0代表周日
time.getDate(); //获取几号
time.getMonth(); //获取月份,0代表1月
time.getHours(); //获取小时 0~23
time.getMinutes(); //获取分钟 (0 ~ 59)。
time.getSeconds(); //获取秒钟(0~59)
// 以上对应有set方法