js是一门:解析性语言、脚本语言、弱类型语言、基于对象语言、动态语言
isNaN();-->这不是一个数字?(isNaN(6)==>flase)
var num = 1;全局变量,不能delete num = 2;隐式全局变量,可以delete
Math
Math.abs(); 绝对值 Math.max(x,y,z...); 最大值 Math.random(); 随机数0~1
Math.ceil(); 向上取整 Math.floor(); 向下取整 Math.sqrt(x); 开方
Math.pow(x,y); 次幂
Date
Date.now(); 返回1970.1.1 0:0:0到当前的毫秒时间
var dt = new Date();
dt.getFullYear(); -->年 dt.getMonth();-->月 dt.getDate();-->日
dt.getHours();-->时 dt.getMinues();-->分 dt.getSeconds();-->秒
dt.getDay();-->星期(0为星期天)
String
特性:不可变,只读
var str = "aa"; str = "bb";(这只是重新赋值,不是改变aa) str[1] = "b";(结果还是aa,只能读,不能改)
str.charAt();-->获取索引下的字符
str.indexOf("a",2);-->从索引2开始,搜索a字符第一次出现所在的索引(不存在为-1)
str.concat("a");-->拼接字符串 str.replace("a","b");-->将a替换成b(还可以写正则)
str.toUpperCase();-->大写 str.toLowerCase();-->小写
str.trim();-->去除左右两端的空白 str.split("$");-->以$符号为切割点,返回数组
str.slice(index1,index2);-->抽取从index1到index2索引的字符串(不包含index2) 如果index1大于index2,则返回空字符串;如果是负数,则=str.length+负数。
str.substr(index,length);-->从index开始截取length个字符 index可以负数,则=str.length+负数。
str.subString(index1,index2);-->截取从index1到index2的字符 如果index1大于index2,则相当于互换位置;如果是负数,则为0。
Array
Array.isArray(obj);-->判断是否是数组
arr.concat(arr1,arr2);-->arr拼接arr1,arr2
arr.push(obj);-->追加到数组最后,返回数组长度; arr.pop();-->删除数组最后一个,返回删除的这个值
arr.unshift(obj)-->添加到数组最前,返回数组长度; arr.shift();-->删除数组第一个,返回删除的这个值
arr.join("a");-->数组内的所以元素连接成字符串,以a隔开,返回字符串(不会改变原数组)
arr.map(fn);-->每个元素都调用这个函数,将结果存到一个数组中,返回一个数组
arr.reverse();-->反转数组
arr.sort(function (a, b) {
// sort方法不稳定,要写这个函数
if(a > b) {return 1;} else if(a = b) {return 0;} else {return -1;};
}
arr.forEach(function (ele, index, arr) {});-->遍历数组,并且每个元素都调用这个函数(有兼容问题,去MDN找代码)
arr.every(function (ele, index, arr) { return ele.length>4;};-->判断所有元素是否符合要求,返回boolean值
arr.filter(function (ele, index, arr) {return ele!=0;};-->筛选,返回符合条件所组成的数组
arr.slice(index1, index2);-->截取index1到index2的元素,返回一个新数组
arr.splice(index, length, obj)-->从index开始删除length个元素,然后在index索引处添加obj,返回被删除的元素所组成的数组,如果没有删除元素则返回空数组(例子:arr为["a", "b", "c"] arr.splice( 1, 2, "kk") ,arr变为["a", "kk"] ,返回["b", "c"]。