对象中属性和方法的简写

对象中属性和方法的简写

包含:

  1. 对象中属性名和变量名相同时可以简写

  2. 对象中的方法可以省略function

1
2
3
4
5
6
7
8
9
10

const name = 'zs'
const age = 18
const person = {
name,
age,
sayHi() {
console.log('hi');
}
}

startsWith & endsWith & includes

startsWith & endsWith & includes (es6字符串新方法 )

语法:

1
2
3
4
const str = 'abcdef'
console.log(str.startsWith('abc'));// 判断是否以abc开头
console.log(str.endsWith('abc'));// 判断是否以abc结束
console.log(str.includes('abc'));// 判断是否包含abc 可以用indexOf替代,不过includes返回布尔值

类似于正则

let&const

let & const

一、 let

特点:

  1. 不会预解析

  2. 不允许重复声明

    1
    2
    3
    var num = 100

    let num = 200 // 同样不行
  3. 块级作用域

二、 const

特点:

  1. 不允许修改值
  2. 定义的时候必须初始化(赋值)👆
  3. const声明的变量是对象时代表其指针不可改变👈(可以改对象内容)
  4. let有的特点const也有

一般变量不会再修改值了就用 const ,并且可以在改变值的时候思考为什么修改(有点像标签的 id )
只要是复杂类型一般都用 const 定义(内容可以修改,但是数据类型不能变)(包括数组,对象,函数)

forEach&map&filter&some&every

forEach & map & filter & some & every & reduce的使用

一、forEach

1. 语法:

1
arr.forEach(回调函数(item, index, array))

2. 特点:

① 帮忙写了一个for循环,循环次数为数组长度,每次遍历index++,将arr[index]作为item传入回调函数
特殊情况:在回调函数中执行 arr.pop()arr.shift() ,数组变短但是依然根据index的大小来遍历,导致遍历次数减半
② 可传入一个回调函数循环执行,回调函数可以使用数组的item,index,array三个参数

Read More

find & findIndex

find & findIndex

一、find

作用:找到数组中满足条件的第一个项,并返回这个项(满足条件的意思就是回调函数返回了true)

1
2
3
4
5
6
7
8
const arr = [
{ name: 'ss', id: 1 },
{ name: 'aa', id: 2 },
{ name: 'dd', id: 3 }
]
arr.find(function (item, index, arr) {
return item.id === 3 // 条件
})

相当于对 arr 中的每一项 (item) 调用传入的函数,如果函数返回了 true ,那么跳出遍历,返回这个项

Read More

05-SQL增删改查,node操作SQL

数据库基本操作

一、字段操作(列操作)

1. 增加列

1
2
3
4
5
6
7
8
9
10
alter table 'tableName' add 'columnName' int(255)
-- 类型长度可变
alter table 'tableName' add (
'columnName1' int(255),
'columnName2' timestamp(8),
'columnName3' float(5,2)
)
-- 添加多个字段,如果某个新字段和原有的重复了,那么所有的新字段都不会添加
-- timestamp类型长度可选,14(显示完整年份且精确到秒),12(不显示完整年份且精确到秒),8(完整年份+精确到日期),6(不完整年份+精确到日期)
-- float(5,2)表示这个数一共5位,小数部分2位,例如321.42

2. 修改列

1
2
alter table 'tableName' alter 'columnName' int(255)
-- 修改类型

3. 删除列

1
alter table 'tableName' drop column 'columnName'

4. 获取所有某数据库某表所有列名

1
2
3
select COLUMN_NAME from information_schema.COLUMNS where table_name = 'tableName' and table_schema = 'databaseName'
-- information_schema.COLUMNS中存有所有数据库所有表的各种信息,包括字段名。从中筛选出需要的某个数据库中的某个表的字段名即可
-- 会获取到一个对象数组。每个对象是RowDataPacket类,只有一个COLUMN_NAME成员,存有字段名

Read More

05-接口化开发,art-template,隐藏域,timeout,FormData,upload,onprogress,jsonp原理,XHR2.0,CORS

接口化开发

请求地址即所谓的接口,通常所说的接口化开发,其实是指一个接口对应一个功能, 并且严格约束了请求参数响应结果 的格式,这样前后端在开发过程中,可以减少不必要的讨论, 从而并行开发,可以极大的提升开发效率,另外一个好处,当网站进行改版后,服务端接口进行调整时,并不影响到前端的功能。

Read More