数组:arr
- arr.push():将一个或多个元素添加到数组的末尾
- arr.unshift():将一个或多个元素添加到数组的开头
- arr.pop():从数组中删除最后一个元素
- arr.shift():从数组中删除第一个元素
- arr.splice():从指定位置开始删除或修改指定个数的数组元素
- arr.reverse():将数组中元素的位置颠倒
- arr.concat():用于合并两个或多个数组
- arr.join():把数组里面的每一项内容链接起来,变成一个字符串
- arr.sort():对数组进行排序
- 冒泡排序
for(var j=0;j<arr.length-1;j++){
var num = 0;
for(var i=0;i<arr.length-1-j;i++){
if(arr[i]>arr[i+1]){
num++;
var temp = arr[i];
arr[i] = arr[i+1];
arr[i+1] = temp;
}
}
if(num==0){
break;
}
}
console.log(all)
- 选择排序
for(var j=0;j<arr.length-1;j++){
var minIndex = j;
for(var i=j+1;i<arr.length;i++){
if(arr[i]<arr[minIndex]){
minIndex = i;
}
}
if(minIndex!=j){
var temp = arr[minIndex];
arr[minIndex] = arr[j];
arr[j] = temp
}
}
console.log(arr)
数组:arr + 字符串:str
arr
- this
- 严格模式:‘use strict’;
- forEach:遍历数组
- map:遍历数组,把每次的返回值组成一个新数组返回
- filter:遍历数组,把每次检测成功的值组成一个新数组返回
- some:遍历数组,只要有一个检测成功就返回true
- every:遍历数组,所有元素都检测成功就返回true
- reduce:
var arr = [1,2,3,4,4,5,6]; arr.reduce(function(a,current){ // a:上次回调函数的返回值 // current:本次遍历到的值 },initValue)
- keys:把数组的所有键变成一个新数组
- sort:
arr.sort(function(a,b){
// a:前一个数组元素
// b: 后一个数组元素
// return 正数:b在前,a在后
// return 0:保留a,b的位置
// return 负数:a在前,b在后
// 简单
// 从小到大:return a-b
// 从大到小:return b-a
})
str
- str.charAt(index):找打指定索引位置的字符串
- str.charCodeAt(index):找打指定索引位置的字符串的unicode编码
- str.indexOf(char):给定一个数据,查找该数据在数组中的第一个索引,从前往后查找
- str.lastIndexOf(char):给定一个数据,查找该数据在数组中的第一个索引,从后往前查找
- str.substring(start,end):截取字符串的一部分
- str.substr(start,length):截取字符串的一部分
- str.slice(start,end):截取字符串的一部分
- str.toLowerCase():转小写
- str.toUpperCase():转大写
- String.fromCharCode(code)把unicode编码变成字符
- str.split():使用指定的分隔符字符串将一个String对象分割成子字符串数组,以一个指定的分割字串来决定每个拆分的位置
Math和Date
Math:js内置对象,不是内置构造函数
-
Math.random()::0-1之间的随机小数,不包括1
-
Math.round():返回指定小数的四舍五入后最近的整数
-
Math.abs()::返回指定数字的绝对值
-
Math.PI:圆周率
-
Math.pow(x,y):x^y
-
Math.ceil():向上取整(两者之间较大的数)
-
Math.floor():向下取整(两者之间较小之间的数)
-
Math.max(number1,number2,…):返回所有数字中最大的数
-
Math.min(number1,number2,…):返回所有数字中最小的
-
Math.sin(弧度); 180deg = Math.PI
-
Math.cos(弧度);
-
变量名.toString(‘要转的进制’)
-
parseInt(‘要转的字符串’,‘把这个字符串看出几进制’):可以再数字转成字符串的时候给出一个进制数作为参数
-
eval(‘字符串’):可在字符串转数字的时候把字符串当成多少进制转成10进制
-
encodeURI():把utf-8编码的字符串变成URI编码的字符
-
decodeURI():解码用encodeURI编码的URI编码的字符
Date:js内置对象,js的内置构造函数
- date.getFullYear():指定日期对象里面的年的数值
- date.getMonth():指定日期对象里面的月份的数值(0-11),0表示1月,11表示12月
- date.getDate():指定日期对象里面的日期的数值
- date.getDay():指定日期对象里面星期的数值 1-6分别是星期一到星期六,0表示星期日
- date.getHours():指定日期对象里面小时的数值
- date.getMinutes():定日期对象里面分钟的数值
- date.getSeconds():指定日期对象里面秒的数值
- date.getTime():获取当前所设置时间距离格林威治时间的毫秒数
- date.setHours():重新新设置时间对象(小时,分钟,秒)的内容
- date.setTime()::UTC 1970年1月1日00:00:00与更新日期之间的毫秒数(实际上是自变量的值)
- data.toLocaleDateString():
- data.toLocaleTimeString(‘zh-cn’,{hour12:false})
- data.toLocaleString()
- Date.now():当前时间距离格林威治时间的毫秒数
- Date.parse():当前所设置的时间距离格林威治时间的毫秒数
BOM
-
innerHeight/innerWidth:浏览器窗口可视区域的宽度和高度,包括滚动条
-
location:浏览器的地址栏
- location.href:完整的url地址信息
- location.hash:url里面#及其后面的内容
- location.host:域名
- location.hostname:域名
- location.assign():加载指定url地址的页面
- location.replace():用指定url地址替换本页面
- location.reload():刷新页面
-
history:历史记录
- history.forward():前进
- history.back():后退
- history.go(number):number为正表示前进几个页面,number为负,表示后退几个页面
-
navigator:浏览器信息
- navigator.appName:返回所使用浏览器的名称
- navigator.appVersion:返回所使用浏览器的版本信息,已废弃
- navigator.platform:返回一个字符串,表示浏览器所在的系统平台类型
- navigator.userAgent:只读属性返回当前浏览器的 user agent 字符串
-
alert,prompt,confirm,console:弹框
-
onload,onresize,onscroll:新的事件
-
scrollTop/scrollLeft:滚动的距离
-
var timerId = setTimeout():倒计时定时器 clearTimeout(timerId):关闭倒计时定时器
-
var timerId = setInterval():间隔定时器 clearInterval(timerId):关闭间隔定时器
DOM
-
document.getElementById():通过id获取
-
document.getElementsByTagName():通过标签名获取
-
document.getElementsByClassName():通过类名获取
-
document.getElementsByName():通过name获取通过css选择器获取
-
document.querySelector():通过css选择器获取
-
document.querySelectorAll():通过css选择器获取
-
获取:元素节点.getAttribute()
-
设置:元素节点.setAttribute()
-
移除:元素节点.removeAttribute()
-
设置元素样式 --> 元素节点.style.样式名 = 值
-
操作元素类名 --> 元素节点.className = 值
-
操作元素内容
- 元素节点.innerHTML = 值
- 元素节点.innerText = 值
-
nodeType:表示节点类型的数字
-
nodeValue:返回或设置当前节点的值(可读写)(元素节点没有)
-
nodeName:返回当前节点的节点名称
-
childNodes:获取某一个节点下所有的子一级节点
-
children:获取某一个节点下所有的子一级元素节点
-
firstChild:获取某一个节点下子一级的第一个节点
-
firstElementChild:获取某一个节点下子一级的第一个元素节点
-
lastChild:获取某一个节点下子一级的最后一个节点
-
lastElementChild:获取某一个节点下子一级的最后一个元素节点
-
nextSibling:获取某一个节点的下一个兄弟节点
-
nextElementSibling:获取某一个节点的下一个兄弟元素节点
-
previousSibling:获取某一个节点的上一个兄弟节点
-
previousElementSibling:获取某一个节点的上一个兄弟元素节点
-
parentNode:获取某一个节点的父节点
-
parentElement:获取某一个节点的父元素节点
-
document.createElement():创建元素节点
-
document.createTextNode():创建文本节点
-
document.createDocumentFragment():创建文档碎片节点
-
节点.cloneNode():克隆节点
-
appendChild/insertBefore:插入节点
-
removeChild/remove:删除节点
-
replaceChild:修改节点
-
getComputedStyle:获取的样式,是字符串(!IE)
-
currentStyle:节点.currentStyle.要获取的属性(IE)
-
offsetWidth:元素的宽度和高度
-
offsetParent:元素的最近的有定位的父节点:节点.offsetParent
-
offsetTop、offsetLeft:元素距离最近的有定位的父元素的距离
// 返回一个随机颜色 十六进制小写 大写则返回return str.toUpperCase()
function color(){
var str='#'
for(var i=1;i<=6;i++){
str+=random(0,15).toString(16)
}
return str
}
//随机六位验证码(数字大小写字母混合)
function code(){
var str=''
for(var i=1;i<=6;i++){
var num=random(48,122)
if(num>=48&&num<=57 || num>=65&&num<=90 || num>=97&&num<=122){
str+=String.fromCharCode(num)
}else{
i--
}
}
return str
}
// 返回指定dom节点的attr样式值
function getStyle(dom,attr){
if(window.getComputedStyle){
// 说明有getComputedStyle方法
return window.getComputedStyle(dom,null)[attr]
}else{
return dom.currentStyle[attr]
}
}