数组
push,pop,
unshift shift
slice
splice
concat
join
subString
sort
reserve
indexOf
lastIndexOf
map
forEach
reduce
filter
find
findIndex
快排,冒泡,选择,插入
字符串
indexOf
lastIndexOf
charAt
charCodeAt
replce(旧,新)
substr(start,length)
subString(start,end)
slice支持负数
toUpperCase
toLowerCase
split(''),
includes()返回值位bloean
startsWith
endWidth
父串.repeat()重复指定字符串
数据类型
number,
string
bloean
null
undefined
object
symbol
DOM操作
对象
document,frames,history,location,navigator,screen
createElement()元素节点
createTextNode()文本节点
appendChild
document.createDocumentFragment
replce(new,old)
removeChild
remove
interHtml
interText
自定义属性
setAttribute()设置属性
getAttribut()获取属性
removeAttribute()删除属性
div.childrenNodes只包含元素节点和文本节点
div.children元素节点
高级选取
firstChild,lastChild,parentNode,previousSibling
,nextSiling,insertBefore(new,old)
cloneNode()只克隆当前节点(不包含节点的内容)
cloneNode()包含当前内容
事件
click
dbclick
onkeydown
onkeypress
onmousedown
onmouseup
onmouseenter
onmouseleave
onmouseover
onmouseout
onchange
onfocus
onblur
onscroll
onresize
ontextmenu
onsubmit
math
.PI
.abs
.ceil
.floor
.max
.max.apply(null,数组)数组最大值
.min.apply(null,数组)数组最小值
.random
.pow(m,n)m的n次方
。sport(m,n)m的开方
ajax
let xhr = new XMLHTTPRequest();
xhr.open(get,url,true/false)
xhr.send();
xhr.onreadystatechange=function(){
if(xhr.readyState===4){
xhr.readyState=[0,1,2,3,4]
if(xhr.status===200){
}
}
}
jq
attr()一个获取两个设置
removeAttr();
addClass('a,b,c')
removeClass();
toogleClass()有就删没有就加
html()innterHtml
text()innnerText
val()input value
:first,:last
:eq(),gt(),lt(),
not()
.css({})
hide(时间,function(){},)//隐藏
show()显示
jq转原生.[0]或者.get()
toogle()有隐藏,没有显示
slidedown()高度向下增大上下padding和margin也有动画
slideup()高度向上减小
slideToggle()
fadeIn()显示
fadeOut()隐藏也就是淡出
fadeTo(speed,opacity,esaying,fn)
animate({left,bottom,right,top},speed,fn)
.stop()
.finsh()直接显示最终效果
设计模式
单例 let obj= {}
组合模式 相互合作(文件和文件夹)
观察者模式 一对多
代理模式:如果那个对象在某个远端服务器上,直接操作这个对象因为网络速度原因可能比较慢,那我们可以先用Proxy来代替那个对象。
总之对于开销较大的对象,只有在使用它时才创建,这个原则可以为我们节省很多内存
命令模式
工厂模式
职责链模式
适配器模式将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作,
使用这种模式的对象又叫包装器,因为他们是在用一个新的接口包装另一个对象。
享元(Flyweight)模式:运用共享技术有效地支持大量细粒度的对象。
职责链(Chain Of Responsibility)模式:为解除请求的发送者和接收者之间耦合,
而使多个对象都有机会处理这个请求。将这些对象连成一条链,并沿着这条链传递该请求,
直到有一个对象处理它。
桥接(bridge)模式:在实现API的时候,桥梁模式灰常有用。在所有模式中,这种模式最容易立即付诸实施
作用域
他只能向上访问,保证访问的函数和变量是有序的
事件委托(事件冒泡原理
阻止事件冒泡
e.canclebuble
e.stopPropation
阻止默认事件
return false
阻止超链接
e.returnValue=false
e.preventDefault
事件监听
添加
div.addEventListener(事件(不加on),函数,默认false)
div.attachEvent('onclick',函数)
删除
div.removeEventLister()
div.detchEvent();
拷贝
...和Object.assign
防抖和节流
防抖:就是指触发事件后在 n 秒内函数只能执行一次,如果在 n 秒内又触发了事件,
则会重新计算函数执行时间。他只执行最后一次
节流:所谓节流,就是指连续触发事件但是在 n 秒中只执行一次函数
复制数组
slice(0),concat(),forEach,map,for循环
数组去重
...new set(arr)
for循环indexof
原型链
每个函数都有一个prototype,那么在通过_proto_是object.prototype在通过_proto_为null