javascrip已经预先给我们定义好了很多对象,这些对象可以直接去使用,可以帮助我们完成一些常用的功能
Math对象π
Math.PI
console.log(Math.PI); //3.141592653589793
最大值/最小值
Math.max/min()参数可以是多个数值
console.log(Math.max(10, 4, 5, 99, 102, 777)); //777
console.log(Math.min(10, 4, 5, 99, 102, 777)); //4
取整(重点)
math.floor():地板函数,向下取整
math.ceil (): 天花板函数,向上取整
math.round(): 四舍五入取整(.5找更大的整数)
console.log(Math.ceil(3.56));//4
console.log(Math.ceil(-3.56));//-3
console.log(Math.floor(3.56));//3
console.log(Math.floor(-3.56));//-4
console.log(Math.round(3.56));//4
console.log(Math.round(-3.56));//-3
console.log(Math.round(3.36));//3
console.log(Math.round(-3.36));//-3
随机数(重点)
Math.random():返回0-1之间的一个随机数,[0,1) 能取到0,取不到1
//随机[0,2] [1,2]
console.log(Math.random());//[0,1)
console.log(parseInt(Math.random() * 11));//[0-10]
console.log(parseInt(Math.random() * 81) + 20);//[20-100]
绝对值
Math.abs():求绝对值
console.log(Math.abs(10));//10
console.log(Math.abs(-10));//10
次幂和平方
Math.pow(num, power):求num的power次幂
Math.sqrt(num):对num开平方
//2的10次方
console.log(Math.pow(2, 10));
//9的幂
console.log(Math.sqrt(9));
Date对象
Date对象用来处理日期和时间
//创建一个日期
1.什么参数都不传,创建当前时间
var date=new date();
2.创建指定时间
var date=new date(2005,10,1);//2005年11月1日
var date=new date("2005-10-01 12:20:20");//2005年10月1日
console.log(date);
//把一个日期转换成时间戳(毫秒值)
var date=new date();
console.log(+date);
日期格式化(重要)
var date=new Date();
//获取年份
console.log(date.getfullyear());
//获取月份
console.log(date.getmonth());//月份从0开始
//获取日期
console.log(date.getDate());
//获取星期
console.log(date.getday());//0~6
//获取小时
date.getHours();
//获取分钟
date.getMinutes();
//获取秒
date.getseconds()
Array对象
检测数组
//检测数组
检测目标是否是一个数组
var arr = [];
console.log(arr instanceof Array);
//如果返回true,说明是数组,如果返回false,说明不是数组。
数组转换
语法:arrayObject.join(separator)
作用:将数组的值拼接成字符串
//join方法用来把一个数组拼成字符串
var arr=[a,b,c,d,e,f];
console.log(arr.join("|"));
//toString()方法 将数组转换成字符串,调用了join方法
var arr = [1,2,3,4,5];
console.log(arr.toString());//和join的默认方法是等价的
console.log(arr.join());
数组的增删操作
push()//从后面推入元素,返回新数组的length
pop() //从后面删除元素,返回被删除的元素
shift() //从前面删除元素,返回被删除的元素
unshift() //从前面添加元素,返回新数组的length
翻转与排序
reverse()翻转数组
var arr = [1, 7, 3, 10, 25];
//翻转数组
console.log(arr.reverse());//[25,10,3,7,1]
sort()数组排序
//数组排序
console.log(arr.sort());//默认按字符的ascii编码进行排序的
//带参数的sort方法
console.log(arr.sort(function (a, b) {
//如果返回值<0,a在b的前面
//如果返回值等于,ab位置不变
//如果返回值>0,b在a的前面
return a - b;
}));
数组的拼接与截取(了解)
concat()方法 :合并数组
==注意:concat并不会影响原来的数组==
将参数里面的值合并到数组里面,组成一个新的数组并返回。
//语法:concat(value1, value2,....)
//参数:可以是一个数组,也可以是值。
//arr1与arr2拼一起
arr1=[1,2,4,5,6,7]
arr2=[1,4,5,6,3]
var newArr=arr1.concat(arr2);
slice()方法 :剪切数组(不影响原数组)
复制数组的一部分到一个新数组,并返回这个数组。
注意:
1.slice方法截取数组只包含begin,不包含end。
2.slice方法的参数可以是负数,表示从后面往前数第几个元素,(慎用,容易搞混)
3.slice方法不会影响到原来的数组。
//语法:slice(begin[,end]);
//参数1:开始位置,
//参数2:结束位置,可选
var arr1 = ["吴彦祖","杨洋","解其军","陈冠希"];
var newArr = arr1.slice(1,3);
console.log(newArr);//["杨洋","解其军"]
splice()方法 :剪切并填补数组
==注意:也可以只剪切不填补,但是会影响原数组==
//语法:splice(start, deleteCount, [items]);
//参数1:开始位置
//参数2:删除的个数
//参数3:需要替换的数组
var arr1 = ["吴彦祖", "杨洋", "解其军", "陈冠希"];
arr1.splice(1, 2, "马蓉", "西施");
console.log(arr1);//["吴彦祖", "马蓉", "西施", "陈冠希"]
数组的位置
indexOf()
查找数组中元素第一次出现的位置,如果找不到,返回-1
indexOf(searchElement, [fromIndex])
//参数1:需要查找的元素
//参数2:开始查找的位置
var arr=[1,2,3,4,5,6,1,1];
//判断1出现的位置
arr.indexof(1,6);//a要找的关键字,b从第几个开始找。默认0
lastIndexOf()
从后面开始查找数组中元素出现位置
indexOf(searchElement, [fromIndex])
//参数1:需要查找的元素
//参数2:开始查找的位置
HTML5的新方法(了解)
HTML5中新增加了很多迭代方法,这些方法都不会修改原数组。
HTML5新增的方法现在只需要了解一下即可。在IE678会有兼容性问题
forEach()方法:对数组进行遍历
forEach(callback)
//参数callback
function(element, index, array){
console.log(element);
};
filter()方法:对数组进行过滤,创建并返回一个新数组,包含了所有通过测试的元素
filter(callback);
//参数callback:
function(element, index, array){
//如果返回true,则该元素保留
//如果返回false,则该元素被丢弃
};
清空数组
1.array.splice(0,array.leng);//删除数组中所有的元素
2.array.length = 0;//直接修改数组的长度
3.array = [];//将数组赋值为一个空数组,推荐
基本包装类型==简单数据类型是没有方法的==,为了方便操作基本数据类型,JavaScript还提供了三个特殊的引用类型:String/Number/Boolean。
==基本包装类型概念:把基本类型包装成复杂类型。==
var str = “abc”;
var result = str.indexOf(“a”);
//这段代码发生了三件事情
1.把简单类型转换成复杂类型:var s = new String(str);
2.调用包装类型的indexOf方法:var result = s.indexOf(“a”);
3.销毁刚刚创建的复杂类型(过河拆桥)
==注意:基本包装类型我们只会用string的基本包装类型,number和布尔的不用,因为用的时候会引起歧义。==
string对象字符串可以看成是一个字符数组。因此字符串也有长度,也可以进行遍历。
String对象很多方法的名字和和Array的一样。可以少记很多的单词。
==字符串所有的方法都不会修改字符串本身,因为字符串是不可变的,操作完成会返回一个新的字符串。==
常用方法
获取索引
indexOf
lastIndexOf
使用方法和数组一样
去除空白
trim:只能去除两边的空白,内部的空白去不了
var str = " abc bcd efg ";
console.log(str.trim());
大小写转换
toUpperCase:全部转换成大写字母\
toLocaleUpperCase:全部转换成大写字母\
toLowerCase:全部转换成小写字母\
toLocalLowerCase:全部转换成小写字母
var str = " abc bcd efg";
console.log(str.toUpperCase());
字符串拼接
concat:字符串拼接,基本不用,拼接字符串使用+号更简单。
字符串截取
substr :从start开始,截取length个字符。
substr(start, length);
//start:开始 length:截取的字符个数
var str = “abcdef”;
var result = str.substr(0,3);
字符串其他方法
replace:字符串替换
replace(searchValue, replaceValue)
//参数:searchValue:需要替换的值 replaceValue:用来替换的值
var str = "abcdefgaaa";
var result = str.replace(“a”,”!”);//比较懒,只会替换一次
split :字符串切割
==把字符串切割为数组==
split(separator);//字符串切割
var str = "张三,李四,王五";
var arr = str.split(",");
console.log(arr);)