云笔记的创建基础

140 阅读3分钟

马上就要找工作了,已经迫在眉睫了,不然要被男朋友耻笑了,一定要优秀一点,才配得上人间! 今天无论如何也要把这个项目做出来,云笔记,云笔记,跟着老师的步伐一步步的前进,加油,加油加油,你一定可以的! 小阿妍,我的天,我从来没有这么迫切的想要成功,因为我已经找到了对象,为了以后的幸福生活! 下面就开始吧: var let 和 const的区别与类似:

var可以声明前置

先 a = 3,在var a;

let不可声明前置

先 a = 3,在let a,则报错!

let不可以重复声明

let a = 3; let a = 4;//wrong

存在块级作用域

let里面有块级作用域;

暂时性死区(TDZ):在let声明变量之前都是该变量的死区,在死区内变量不可使用。

我们在全局作用域中或还是在局部作用域中,使用var关键字声明的变量,都会被提升到该作用域的最顶部,这就是我们常说的变量提升。 let是块级作用域,所有外面的语句块访问不到,let是没有变量提升的, const声明指的是常量,常量就是一旦定义完就不能修改的值。还有一点需要注意的是,常量定义必须初始化值,如果不初始化值就会报错。 const与let也没什么大不同,都是块级作用域,const常量也只会在当前代码块内有效,也不能在当前作用域中重复定义相同的变量,也不存在变量提升。

const声明对象

const声明的常量不可改变, 虽然const变量不能修改指针,但是可以修改值,比如我们定义一个对象,我们就可以修改对象里的属性值,但是不可以重写整个对象。

const person = {
    name: "蛙人",
    age: 23
}
person.age = 18 // 没问题
person = {} // 报错 不能修改对象指针

解构赋值

默认值

  • let[a,b = 2]=[3]
  • 如果没有一一对应,后面没有给值的话就是undefined;后面就使用默认值;a=3,b=2;
  • let [a,b=2]=[3,4],b=2是默认值,但是右面有,就用后面的a=3,b=4;

undefined和null的区别

let[a=2,b=3] = [undefined,null] a//2 b//null

let [a=1,b=a] = [2] a//2 b//2

对象的默认值

let {x,y=5}={x:1} x//1 y//5

函数解构

function add ([x=1,y=2]){ return x+y } add() //3 add([2])//4 add([3,4])//7

多行字符串

let str = hi, this is jirengu.com; you can study frontened here.

字符串模板

let website = 'jirengucom' let who = 'You' let str = Hi This is ${website}. ${who} can study from here

数组扩展

var a = [1,2]
console.log(...a)//1,2
var b = [...a,3]
b//[1,2,3]
var c = b.contact([4,5])
var d = [..b,4,5]

模块化

class和继承

需求分析

UI图纸

1.创建账号

image.png

2.登录

image.png

3.笔记本列表

image.png

4.笔记详情

image.png

5.回收站

image.png

交互分析

  1. 假设用户未登录,当访问网站时,默认跳转到【登录页面】
  2. 用户此时可输入账号密码进行登录。也可点击注册账号跳转到【注册页面】
  3. 在注册页面用户可输入用户名密码进行注册
  4. 登录成功后默认跳转到【笔记本列表页面】, 用户可新建笔记本、删除笔记本、修改笔记本标题
  5. 用户点击某条笔记本,会跳转到 【笔记页面】,【笔记】页面展示当前笔记本下的笔记列表以及其中一个笔记的详情。用户可在笔记本列表顶部切换笔记本,切换笔记本后会自动展示该笔记本下的笔记列表,并自动打开列表下的第一条笔记
  6. 当用户点击回收站时,会跳转到【回收站】页面,回收站页面里有所有临时删除的笔记。用户可彻底删除笔记,也可恢复笔记到原笔记本
  7. 当用户点击注销时,回到登录页面