1、事件

a.窗口事件,只在body和frameset元素中才有效
    onload      页面或图片加载完成时
    onunload     用户离开页面时

b.表单元素事件,在表单元素中才有效
    onchange     框内容改变时
    onsubmit     点击提交按钮时
    onreset     重新点击鼠标按键时
    onselect     文本被选择时
    onblur      元素失去焦点时
    onfocus     当元素获取焦点时

c.键盘事件,在base,bdo,br,frame,frameset,head,html,iframe,meta,param,script,style,title元素里都无效
    onkeydown    按下键盘按键时
    onkeypress    按下或按住键盘按键时
    onkeyup     放开键盘按键时

d.在base,bdo,br,frame,frameset,head,html,iframe,meta,param,script,style,title元素里都无效
    onclick     鼠标点击一个对象时
    ondblclick    鼠标双击一个对象时
    onmousedown 鼠标被按下时
    onmousemove 鼠标被移动时
    onmouseout    鼠标离开元素时
    onmouseover 鼠标经过元素时
    onmouseup    释放鼠标按键时

e.其他
    onresize     当窗口或框架被重新定义尺寸时
    onabort     图片下载被打断时
    onerror     当加载文档或图片时发生错误时

2、事件代理事件委托

a.事件代理是利用事件冒泡
b.用事件委托的时候,只需要给父级元素添加事件就好了
c.怎么区分子还是父,可以通过event.target对象来获取

3、原生ajax

a. var ajax = new XMLHttpRequest ();
b. ajax.open('get'/ 'post', url);
c.ajax.send();
b.ajax.onreadystatechange = function() {
        if (ajax.readyState === 4 && ajax.status === 200) {
            console.log(ajax.responseText)
        }
    }

4、跨域

a. 什么情况下跨域?
    1.协议,域名不同或端口不同为跨域,
    2.AJAX直接请求才存在跨域
b. jsonp形式的ajax请求,只能是get请求不能使用post请求
c.常用的解决方式用cors
d.凡是拥有src这个属性的标签都可以解决跨域:img,script ,link等

5、闭包及应用

a.闭包的概念:闭包就是能够读取其他函数内部变量的函数,也可以说是定义在一个函数内部的函数
b.闭包的应用:插件的封装,使用jquery时用的就是闭包

6、原型

7、原型链
8、盒模型
9、BFC
10、面向对象