js内置对象map,set,generate,iterator
开发中用到最多的场景,父子组件通信,分发事件,组件传值。
1.generate 迭代器可以暂停和开始
*function
yield
yield*
1.funtion* 定义一个迭代器函数
generator.prototype.next()
generator.prototype.return()
generator.prototype.throw() 抛出错误
12345function* generator(i) { yield i; yield i + 10;}const gen = generator(10);
生成器函数有一个next()方法
next()方法返回一个对象,这个对象包含两个属性:value 和 done,value 属性表示本次 yield 表达式的返回值,done 属性为布尔类型,表示生成器后续是否还有 yield 语句,即生成器函数是否已经执行完毕并返回。
调用 next()方法时,如果传入了参数,那么这个参数会传给上一条执行的 yield 语句左边的变量,例如下面例子中的x:
1234567891011function ...
react
hexo对于{}处理会有问题
1.基础语法组件必须有一个根节点,组件名字必须大写
内联样式
123456<div className="arr" style={{ color: "#F40",fontSize:20 }}> {arr}</div>
style如果是对象,要两个{}内嵌,写属性要加引号,fontSize小驼峰
定义虚拟dom时候,不写引号
标签中混入js要用{}
jsx即是js和html混用,{}匹配js,<>匹配html
内联用{}内嵌写法
只有一个根标签
标签需要闭合
写一个不存在的标签
12写的小写标签当作浏览器标签识别 <good>写的大写标签(首字母)当作component组件,如果不存在,报错com is not undefinded
如果{}里面是一个数组,可以自动遍历,如果是对象,则出错
表达式和代码
jsx里面{}只能是一个表达式,不能是js代码
arr.map
demo(1)
cons ...
sql语法学习
作为一个前端,我认为sql的学习有助于理解业务,当别人告诉你这个表这个表时,不至于一知半解,我不指望一次入门学习能带来很多,但收获远比我想象的多的多。
1,基本使用1.删除目录1.点击安装文件夹,删除profile下面的文件夹
2.环境变量安装到sql下面的bin 文件夹
3.mySql 服务自动启动, 启动才能使用
2.命令启用服务12net start MySQLnet stop MySQL
3.使用客户端连接数据库服务器123mysql -uroot -p密码 显示密码mysql -u root -p 隐藏密码exit 退出
查看数据库
show database
使用数据库
use myDatabase
创建数据库
create database bjdatabse
数据库的基本单元
表
2.基础知识1.约束唯一性约束
show tables 查看数据库下面有那些表
2.sql语句的分类
DQL 数据查询语句 select
DML 数据操作语言 insert delete update 主要操作表中的数据
DDL 数据定义语言 操作表的结构,删除列 create dro ...
node基础
node主要是利用ECMAScript的核心语法封装的js库,你可以用它构建一个简单的服务器,或者读取excel,修改本地文件等
1.fs模块fs.readFile() 用来读取指定文件中的内容
fs.writeFile() 写入文件
123456789101112131415161718//1.存放路径//2.编码格式//3.回调函数const fs = require('fs')fs.readFile('./assets/read.txt','utf-8',function(err,dataStr){ console.log(err+'-失败') console.log(dataStr+'成功读取的数据')})-> 结果null-失败读取文件成功读取的数据-> 读取失败err的值为错误对象dataStr 为 underfinded
1.判断是否读取成功判断err是否为空
2,向指定文件写入内容123456789101112 ...
typeScript入门
—typeScript作为js的超集,主要是加了类型限制,对于面向对象的使用多于js,学习ts是后面学习node框架koa,express,nest等的基础
[toc]
1.类型123let a:number// a为number,以后的使用a的值只能为数字
ts-可以编译为任何js版本 tsc
1let c:boolean = false
如果变量声明时,直接赋值(同时进行),它可以自动判断
12345678910111213141516function sum(a,b) { return a+b}//sum(123,456)//sum('123',456)//改善function sum(a:number,b:number) { return a+b}sum(123,'456') //提示错误//函数返回值的类型function sum(a:number,b:number):number { return a+b}
类型的都为小写 number,boolean,string
...
微信小程序开发
第一次对于微信小程序的学习,主要是一些基础语法
微信小程序开发1)项目的基本构成1) 文件作用
pages存放所有小程序的页面
utils用来存放工具性质的模块(例如:格式化时间的自定义模板
app.js 小程序项目的入口文件
app.json 小程序项目的全局配置
app.wxss 全局样式文件
project.config.json项目的配置文件
sitemap.json 配置小程序及页面是否被微信索引
2)小程序页面的组成部分
index.js 数据,时间处理函数
index.json
index.wxss
index.wxml 模板结构
3).json配置文件的作用
更目录的app.json文件 -> 全局配置文件
根目录中的project.config.json
根目录中的sitemap.json
每个页面文件夹的.json
app.json 全局配置文件
1234567pages:[] 记录当前小程序所有页面的路径window:全局定义小程序所有页面的背景色,文字颜色等style:全局定义小程序所使用的样式版本sitemapLocation:用来 ...
防抖与节流浅析
尽管现在已有很多相关工具库,对于其的理解学习也不能中断
防抖与节流防抖:将多次触发变为一次触发
节流:减少一段时间的触发频率
防抖:通过setTiemout 限制执行次数
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556//防抖函数包裹目标函数debounce( submit(){ })function debance(fn){ let t = null return function(){ if(t){ clearTimeout(t) } //限制fn的执行 t = setTImeout(()=>{ fn() },1000) }}//只要t定时器存在,就清除掉定时器//多次点击只会执行一次//存在两个问题1.arguments传参数2.this ...
webpack从零到一搭建vue项目
webpack是当下应用最大的构建工具,从0到1构建项目,是一个值得学习课题。不管是vue项目还是其他项目都离不开构建工具(可能是其他构建工具)。
webpack打包工具1.安装webpackwebpack webpack-cli -D(4x,5X)
安装低版本,指定
webpack@4.43.0 webpack-cli@3.3.12 -D
```js@3 安装3版本的最新版本
1234567- node-modules -> bin -> 软链接目录(-D) - ```js //锁死安装路径 npx webpack -V //npx 找项目下的软连接目录,有的话直接启动,如果没有则安装webpack到本地,并启动他 w ...
git 操作
git作为程序的代码版本控制库,初用时一些命名略显生疏,普及一下gitee仓库容量500M,github容量1G,单文件最大都是50M
1234567891011121314151617181920212223242526271.git clone ....url//克隆代码//本地克隆远程项目2.git status //查看当前分支3.git add * //通配符表示 //提交新增文件|修改文件 4.git commit -m '这是我的第一次提交'//提交并附带信息//5.git push //推送到云6.git branch lanhan //创建分支7.git checkout laohan//切换分支8.push之前执行更新操作//新增文件,修改代码9.git config --list //查看配置
具有一个远程仓库(多人访问,多人共同维护一份代码)
123//拉取仓库代码到本地git pull对应原生的
12345本地仓库git add 暂存区//提交到暂存区git commit -m '' 工作区git p ...
es6概述2
ES6是js的高级语法,不断学习js,对于代码逻辑的理解更加透彻
es6知识点整理[toc]
let和const
let 声明变量
不存在变量提升
1//let声明的变量在声明语句之前不能使用,会报错。var未经声明的变量会挂载在window
暂时性死区
1//声明语句之前不能使用,声明语句之后不能重新定义
不允许重复声明
1//已经被关键词let声明的变量不能重新声明
块级作用域
12//在{} 中的为块级作用域,当中声明的变量只在次作用域有效。//var 除了在函数声明的变量外,其他都归全局所有
const声明常量
const声明的常量拥有let声明变量的所有特性
const声明的变量不能进行更改
变量的解构赋值
数组的解构赋值
基本使用
123456789101112let [a,b,c] = [1,2,3]a = 1;b = 2; c = 3;//let [a,[b],c] = [1,[2,3],4]a = 1;b = 2;c = 4;//let [a] = [1,2,3]
默认值
123let [a,b ...