基础
- 基本类型 String Array Boolean Number Object Function
- 每个类型的内置函数(ECMA5新加的一些array的函数之类)
- Date类型 Regex类型的一些方法和用法(两日期之间相隔天数基本正则等等)
- 流程控制(if else for while)之类
- 任务 做一个类似underscore的数组小工具类 写两三方法即可
Api like this
_v.each() _v.filter() _v.some()....
DOM+BOM
- Dom基本方法和操作 (查找 添加属性 删除属性 父元素 子元素 插入新元素 在特定位置插入新元素 删除元素 样式表操作)
- 基于浏览器的一些方法(setTimeout setInterval window.open() window.location navigator之类)
- cookie是什么 怎么操作
- 任务 完成一个类似jquery的小选择器库(可以使用querySelectorAll)
大体上的api:
V('id') V('id').remove() V('id').parent() V('id').child() V('id').addClass() V('id').attribute()
Events
- Dom一级事件 和 Dom二级事件分别是什么 ie下dom二级事件的兼容性问题
- 事件中的事件对象 都有什么重要属性和方法 在不同浏览器下 有什么区别
- 事件代理是怎么回事? 怎么样实现的呢?
- 事件冒泡和事件捕获是什么东西(什么元素 事件 不会冒泡?)
- 自定义事件 你怎么理解?
- 写一个小事件库 支持自定义事件 事件代理等方法(可以考虑考虑兼容性 不考虑也无所谓)
大体上的api
V.events.add() V.events.remove() V.events.delegate() V.events.trigger() V.events.custom()
Ajax
- 什么是ajax 什么是xmlHttpRequest
- 怎么运作的 写点代码来实现一个简单的xhr(考虑点兼容性)
- 了解HTTP (可以独立出ajax章节 作为必须考的其他的话题深入 具体流程 过程 再往下 三层模型之类 越详细越好)
- 跨域问题 什么意思 子域名跨域有问题吗?
- 跨域问题解决 get请求 jsonp post请求(xhr二级定义+老浏览器原始解决方法)
- json的概念和示例
- ajax的promise格式是指什么
- 写一个简单库 来实现基本的ajax功能(基本的和promise的都可以~)
V.ajax({url:'a',method:'GET',dataType:'json',data:{'name':viking}},function(data){
console.log(data)
})