创建数组:
var arr=[值,...];
var arr=new Array(值,...);
hash数组:
创建:
1、创建空数组:var arr=[];
2、为数组添加自定义下标并且赋值:arr["自定义"]=值;
访问:
arr["自定义"];
遍历hash数组:
不能再使用for循环,必须使用for in循环
for(var i in 数组名){
i;//下标
数组名[i];//当前次元素
}
API:
1、arr 转 str:
var str=arr.join("自定义连接符");
2、拼接:
var newArr=arr.concat(值1,...);
3、截取:
var subArr=arr.slice(starti,endi+1);
4、删插替:
删除:var dels=arr.splice(starti,n);
插入:arr.splice(starti,0,新值,...);
替换:var dels=arr.splice(starti,n,新值,...);
5、翻转:arr.reverse();
6、排序: arr.sort();
7、开头进:arr.unshift(新值,...);
8、开头出:var first=arr.shift();
9、结尾进:arr.push(新值,...);
10、结尾出:var last=arr.pop();
二维数组:
创建:var arr=[ [0,18,900],[1,19,1000], [4,20,700]];
访问:arr[行下标][列下标];
遍历:
forEach - 修改原数组
arr.forEach(function(val,i,arr){
操作;
})
map - 不修改原数组
var newArr=arr.map(function(val,i,arr){
return 操作;
})
过滤:
过滤:原数组不变
var subArr=arr.filter(function(val,i,arr){
return 判断条件;
})
StringAPI:
1、转义字符:\
作用:
1、将字符串中和程序冲突的字符转为原文
"\"" '\''
2、包含特殊功能的符号:
换行:\n
制表符:\t
3、输出unicode编码:
\u4e00 - ascii码:19968
\u9fa5 - ascii码:40869
2、大小写转换:
大写:var upper=str.toUpperCase();
小写:var upper=str.toLowerCase();
3、获取字符串中指定位置的字符:
str.charAt(i)===str[i];
4、获取字符串中指定位置的字符的ASCII码:
var ascii=str.charCodeAt(i);
5、通过ASCII码转回原文:
var 原文=String.fromCharCode(ascii);
6、检索字符串:检查索引,检查下标:获取关键字的下标
var i=str/arr.indexOf("关键字",starti);
从starti位置开始,查找右侧第一个关键字的第一个字符的位置
starti可以省略,默认从0位置开始查找
7、拼接字符串:
var newStr=str.concat("字符串",...)
8、截取字符串:
var subStr=str/arr.slice(starti,endi+1);
str.substring(starti,endi+1);//不支持负数参数
str.substr(starti,n);//n代表的是截取的个数
9、替换字符串:
var newStr=str.replace("关键字"/正则表达式,"内容");
10、切割/分割/分隔字符串:
var arr=str.split("自定义切割符");
11、去空白字符:
str.trim/trimStart/trimEnd()
MathAPI:
取整:
1、上取整:
var num=Math.ceil(num);
2、下取整:
var num=Math.floor(num);
3、四舍五入取整:
var num=Math.round(num);//只看小数位数的第一位
num.toFixed(d); 四舍五入,并且保留指定小数位数、解决浏览器2-1.6=0.3999999999999
乘方和开方:
乘方:Math.pow(底数,幂); -> 底数**幂
开方:Math.sqrt(num);
最大值和最小值:
var max/min=Math.max/min(a,b,c,d,e,f,g,...);//不支持数组参数
Math.max/min.apply(Math,arr);//数组
绝对值:
Math.abs(-1);
随机数:Math.random();
公式:parseInt(Math.random()*(max-min+1)+min)
Date对象:
创建一个当前日期:
var now=new Date();
创建一个自定义时间:
var birth=new Date("yyyy/MM/dd hh:mm:ss");
创建一个自定义时间:
var birth=new Date(yyyy,MM,dd,hh,mm,ss);
复制一个日期:
var end=new Date(start);
使用:API:
年月日星期:FullYear Month Date Day
时分秒毫秒:Hours Minutes Seconds Milliseconds
getXXX
setXXX
特殊:
取值范围:
FullYear - 当前年份的数字
Month - 0~11
Date - 1~31
Day - 0~6:0代表是星期天
Hours - 0~23
Minutes、Seconds:0~59
加减操作:
date.setXXX(date.getXXX()+/-n)
格式化日期为本地字符串:
date.toLocaleString();
定时器:
周期性定时器:
开启:timer=setInterval(callback,毫秒数);
停止:clearInterval(timer);
一次性定时器:
开启:timer=setTimeout(callback,毫秒数);
停止:clearTimeout(timer);
window属性:
浏览器大小:outerWidth/outerHeight
浏览器的文档显示区域大小:innerWidth/innerHeight
屏幕的完整大小:screen.width/height;
方法:
打开链接:
1、当前窗口打开,可以后退:
HTML:<a href="url">内容</a>
JS:open("url","_self");
2、当前窗口打开,禁止后退:
location.replace("新url");
3、新窗口打开,可以打开多个
HTML:<a href="url" target="_blank">内容</a>
JS:open("url","_blank");
4、新窗口打开,只能打开一个:
HTML:<a href="url" target="name">内容</a>
a标签的其他用途:
跳转
锚点
下载按钮:<a href=".exe/rar/zip/7z"></a>
打开图片和txt文档:<a href=".png/jpg/jpeg/gif/txt"></a>
打开新窗口/新链接:
newW=open("url","target","width=?,height=?,left=?,top=?");
关闭窗口:window/newW.close();
改变新窗口的大小:newW.resizeTo(新宽,新高);
改变新窗口的位置:newW.moveTo(新X,新Y);
window事件:
window.onload事件 - 加载
window.onresize事件 - 窗口大小发生变化触发
window.onscroll事件 - 滚动触发
1、获取滚动条当前的位置:window.scrollY
2、获取元素距离页面顶部:elem.offsetTop/offsetLeft
本地/客户端存储技术:
cookie:淘汰
webStorage
sessionStorage - 会话
localStorage - 本地
操作:
添加:xxxStorage.属性名="属性值";
读取:xxxStorage.属性名;
删除:xxxStorage.removeItem("属性名");
清空:xxxStorage.clear();