二阶段回顾
1.第一周 javascript语法基础
数据类型 变量 运算符
逻辑条件语句 if if-else switch-case
循环语句 while do-while for
跳转语句 break continu return
函数 作用域
function fn(){
var num = 100
}
if(){
}
for(var i = 0; i < 1; i++){
let a = 1
}
递归函数
1 + 2 + 3 = ?
function sum(n){
if(n == 1){
return 1
}
return sum(n-1) + n
}
sum(2)
预解析
2. 第二周 内置对象
Object 对象
Array 数组
Date 日期时间
Math
String Number Boolean
Function 函数
function fn(){}
var fn = functiion(){}
var fn = new Function()
JSON.stringfiy() JSON.parse()
正则表达式 Regexp
3. 第三周 BOM和 DOM
bom 浏览器对象模型 操作浏览器的能力
window 窗口对象
history location location.href = url
http://ip:port/path/res?name=admin
DOM 文档对象模型
<h2 id=''h2">标题1
<h2 id=''h2">标题2
节点对象
获取节点对象
getElement系列
querySelector系列
操作内容
innerHTML innerText value
操作样式
obj.sytle.样式名 = 样式值 行间样式
className
classList.add() classList.remove()
操作属性
setAttribute(属性名,属性值)
getAttribute(属性名)
removeAttribute(属性名)
操作事件
事件对象 event
事件目标对象 e.target
事件写法
DOM0级 btn.onclick = function(){}
DOM2级 bn.addventListner('click',function(){})
事件传播机制
事件冒泡和事件捕获
事件委托
基于事件冒泡
使用javascript代码操作BOM和DOM
4. 第四周 面向对象编程
面向过程编程
面向对象编程
ES5
构造函数 + 原型
function Person(name,age){
this.name=name
this.age = age
}
Person.protype.say = function(){}
let p1 = new Person('jack',18)
let p2 = new Person('rose',18)
p1.say()
ES6
class Person{
constructor(){
this.name=name
this.age = age
}
say(){}
}
class Car{
}
this指向问题
call apply bind
5. 第五周 js高级编程
let vm = {}
Object.defindpropery(vm, 'name', {
value:'jack'
get(){
}
set(value){
更新节点内容
}
})
vm = {name:'jack'}
vm.name='rose'
数据变化,界面自动更新
vue2 vue3
Proxy代理对象
let obj = {name:'jack'}
let zj = new Proxy(obj,{
get(targer,value){}
set(target,value,){}
})
zj.name= 'rose'
深浅拷贝
let obj = {
name:'jack',
age: 18,
fun:{
phone:12313123132
}
}
{ ...obj}
Object.assign()
JSON.parse( JSON.stringfiy() )
递归函数
继承
原型链
class A extends B{
}
闭包
function a(){
var num = 100
return function b (){
log(num)
}
}
let f = a()
f()
柯里化函数
f(a,b,c) => f(a)(b)(c)
单页应用 spa
Single Page
index.html
hash
http://ip:port/index.html#login
LoginPage
http://ip:port/index.html#home
HomePage
http://ip:port/index.html#detail
DetailPage
6. 第六周 网络编程
nodejs: 基于chrome 浏览器v8引擎的javascript运行时
node app.js
http协议
get和post put delete ...
ajax 技术
XMLHttpRequest
Promise
链式调用
同步异步
回调函数
Promise.all Promise.race Promise.Reject()
cookie cookie.js
asyn/await
7. 第七周 后端编程
express框架
mongodb
mongoose库
后台管理系统
加密技术
token技术
生成token验证token
JWT技术 adsfadfasdfasdf.qewrqweerqwer.qwreqwwerqwre