二阶段回顾

30 阅读2分钟

二阶段回顾

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