node基础

1.node严重依赖模块,想做什么功能都有相应的模块来配合,对模块的熟悉程度就反应了你node的熟练程度

2.node里所有api操作里都有一个sync版的同步方法,但一般不用


适用场景

    阅读全文

    进程和线程

    多进程和多线程

    一台电脑可以同时运行很多个程序,比如qq微信网易云音乐,一个程序里可以有很多个进程,必须有一个主进程,一般是第一个,结束主进程,程序就结束了。一个进程里又有很多线程,第一个开启的线程是主线程,主线程结束了这个进程就结束了。另有一种说法是线程里还有纤程(协程),这个知道就可以了。
    进程和进程之间是严格隔离的,进程拥有独立的执行空间、存储。
    同一个进程之内的线程是共享同一套空间共享同一套代码的。

    阅读全文

    深浅拷贝

    对arr1的操作会影响arr :

    1
    2
    3
    4
    5
    6
    7
    let arr=[1,2,3]
    let arr1=arr

    arr1.push(4)

    console.log(arr)
    console.log(arr1)

    阅读全文

    (通信相关)跨域、http、formData、表单、ajax、缓存

    数据交互

    1.表单 最基本最简单的 http数据请求其实都是表单
    2.ajax 不用刷新,ajax 可以跨域,但性能低一些,单向,跨域麻烦
    3.jsonp 跨域,安全性太差,只能发起get请求
    4.websocket 快,双向,跨域,性能高,双向(双工),直接跨域

    阅读全文

    ajax、fetch、promise、generator、async,await

    ajax

    写法:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    $.ajax({
    url:'1.txt',
    dataType:json,
    success(res){
    console.log(res)
    },
    error(err){
    console.log(err)
    }
    })

    //写法2
    $.ajax({
    url:'1.txt',
    dataType:json
    }).then(res=>{
    console.log(res)
    },err=>{
    console.log(err)
    })

    阅读全文

    json、字符串、面向对象、cookie、session

    json

    1. 如果key和value一样的话可以简写
    1
    2
    3
    4
    let a=5
    let b=3
    <!-- let obj={a:a,b:b} -->
    let obj={a,b}

    阅读全文

    解构、函数、扩展运算、数组

    解构赋值

    1.左右两边必须一致
    2.必须定义和赋值同步完成


    解构数组:

    1
    2
    3
    let [a,b,c]=[12,5,8]

    alert(a+','+b+','+c)

    阅读全文

    数据库基本

    数据库类型

    1. 关系型数据库——MySQL、Oracle
    2. 文件型数据库——sqlite
    3. 文档型(分布式)数据库——MongoDB

    阅读全文

    canvas 基础用法

    canvas使用方法

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    //获取canvas画布对象
    var canvas = document.querySelector("canvas")
    //获取绘图上下文
    var ctx = canvas.getContext("2d")
    //落笔
    ctx.moveTo(100,100)
    //连线
    ctx.lineTo(300,100)
    //描边

    //带颜色的线
    ctx.moveTo(100,150)
    ctx.lineTo(300,150)
    ctx.lineWidth="20“
    ctx.strokeStyle="red"
    ctx.stroke()

    阅读全文

    智能表单

    众所周知 前端表单验证是个很普通的功能 以往验证是通过正则和各种插件完成 现在可以直接用h5为我们提供的便利写法去完成了 写法如下

    1
    2
    3
    4
    5
    6
    <form action="text.php" method="get"> 
    邮箱地址:

    <input type="email" name="">
    <input type="submit" >
    </form>

    阅读全文