- 博客(132)
- 收藏
- 关注
原创 计算属性
方法 {{ avegeScore2() }}</p><p>方法 {{ avegeScore2() }}</p><p>计算属性 {{ avegeScore }}</p><p>计算属性 {{ avegeScore }}</p><p>计算属性 {{ avegeScore }}</p><p>计算属性 {{ avegeScore }}
2023-12-13 14:02:58
66
原创 vue指令
v-show="表达式" 当表达式值true,v-if所作用的元素显示 否则隐藏。v-if="表达式" 当表达式值true,v-if所作用的元素显示 否则隐藏。v-if控制元素显示与隐藏,通过js创建dom元素或删除元素。频繁切换元素显示与隐藏用v-show,其余可以用v-if。v-show通过css的display显示与隐藏。v-html = "data中的数据"v-if与v-show。vue指令 v-开头的属性。
2023-12-13 13:56:21
59
原创 vue指令
vue指令 v-开头的属性v-html = "data中的数据"2 条件渲染指令v-if="表达式" 当表达式值true,v-if所作用的元素显示 否则隐藏v-show="表达式" 当表达式值true,v-if所作用的元素显示 否则隐藏v-if与v-showv-if控制元素显示与隐藏,通过js创建dom元素或删除元素v-show通过css的display显示与隐藏频繁切换元素显示与隐藏用v-show,其余可以用v-ifvue指令 v-开头的属性3 事件绑定。
2023-12-12 18:30:08
67
原创 vue插值表达式
-构建用户界面基于数据渲染页面-->-- 2 准备dom -->--{{ 表达式 }}-->-- 1 引入Vue -->// 3 创建vue实例new Vue({// 元素// 数据data: {},--构建用户界面基于数据渲染页面。
2023-12-12 10:33:12
61
原创 webpack2
webpackwebpack打包器的理解:将多个文件打包成一个文件,减少http的资源请求将文件进行压缩、混淆打包,缩小了文件体积处理兼容:js:借助babel,将高级的js语法处理为低级的js语法,从而达到兼容的处理css:借助postcss,Autoprefixer自动获取浏览器的流行度和能够支持的属性,并根据这些数据帮你自动为CSS规则添加前缀。可以利用webpack搭建脚手架工程化项目webpack还可以在打包的时候对项目进行优化1.web
2023-12-09 08:55:11
56
原创 webpack
2-3 在项目根目录下安装 webpack(https://webpack.docschina.org/guides/getting-started#basic-setup)npm run build->进行打包,默认找src/index.js -> dist/main.js。支持模块化开发(es6 module、CommonJS、CMD、AMD)2-2 在项目根目录下执行 npm init -y。对 sass、less、stylus->css。2-1 新创建一个项目 demo。对 js 文件进行打包。
2023-12-08 16:46:43
72
原创 导出 导入
/ 2 按需导入 import {成员1,成员2} from 模块路径。// import f from './a' -> 1 默认导入。// 一个js文件就是一个模块,模块与模块之间是独立(隔离)// 1 默认导出 export default 成员。// 模块与模块之间需要数据通信,需要模块化机制。// 每一行导出一个成员 export 表达式。// 导入a模块,用f接受a模块默认导出的成员。// 可通过as关键字把按需导入的成员重命名。// 一般适合模块导出一个成员。// 导出f函数成员。
2023-12-08 10:48:07
68
1
原创 git
git config --global user.email "gitee 配置的邮箱"git config --global user.name "gitee 注册用户名"git branch -m 旧分支 新分支名 ->重命名分支。git checkout 分支名 -> 切换分支。git branch -d 分支名-> 删除分支。git config --list 查看配置。git branch 分支名 -> 创建分支。git merge 分支名->合并分支。git branch -> 查看分支。
2023-12-06 09:56:17
70
原创 手撕Promise-相关方法实现
/ Promise状态 status pending fulfilled rejected。// 调用then的时候,状态是默认状态,把传入的两个函数存储起来。// 私有属性 this.#handlers = []// console.log('构造函数执行了')// 说明返回值是一个promise的实例。// 把之前存的函数依次取出来调用。// 把之前存的函数依次取出来调用。// promise a+规范。// Promise构造函数。// then可以调用多次。
2023-12-04 15:00:28
111
原创 Promise代码
/ Promise状态 status pending fulfilled rejected。// 调用then的时候,状态是默认状态,把传入的两个函数存储起来。// 私有属性 this.#handlers = []// console.log('构造函数执行了')// 把之前存的函数依次取出来调用。// 把之前存的函数依次取出来调用。//reject('出错了')// Promise构造函数。.手撕Promise-then变为异步。.手撕Promise-then变为异步。// then可以调用多次。
2023-12-04 09:34:07
63
原创 all any race allSettled
/ 三个primise 得到三个promise成功结果}, 3000)})//reject('出错啦')}, 1000)})}, 1000)})// 静态方法 1 Promise.all([promise1, promise2, promise3]) 返回是一个promise// console.log(res) // [p1的成功结果,p2的成功结果,p3的成功结果,]// })// })
2023-12-01 16:18:13
65
原创 JS事件循环
3 当JS调用栈空闲时,会清空微任务队列,然后在执行宏任务队列,执行完一个宏任务,再清空微任务队列。// JS是单线程,同一时间只能做一件事,为了避免耗时任务阻塞代码,JS通过事件循环来处理这种耗时任务(异步)// 2 异步分微任务(then,catch方法),宏任务(ajax、定时器、事件回调、script标签)遇到宏任务放到宿主环境(浏览器),遇到微任务放入微任务队列。// JS事件循环(事件环、eventloop)console.log(1) // 同步。// 1 先同步 后异步。
2023-12-01 15:24:00
56
原创 promise
/ 参数函数接受两个形参resolve,reject,resolve,reject是函数。// Promise是一个内置构造函数,接受一个函数(executor)作为参数。// resolve()调用表示成功 reject()调用表示失败。// promise三个状态 默认状态(等待态)、成功态、失败态。// 同步 代码依次执行,上一个任务完成后,下一个任务才执行。// 该参数函数立即调用,该执行函数可以放同步或异步任务,// console.log('被点击')// reject('失败')
2023-11-30 11:25:54
56
原创 class
/ 2 实例化对象 new 类() -> 默认会执行类中的constructor方法。// 2 实例化对象 new 类() -> 默认会执行类中的constructor方法。console.log(s1.subject) // 获取走对应的get。console.log(this) // 类本身。// class 语法糖 ->构造函数。// class 语法糖 ->构造函数。// 方法将来定义在原型上。// 方法将来定义在原型上。// 构造函数->对象。// 构造函数->对象。
2023-11-30 11:24:09
49
原创 for-of遍历迭代器
// function* demo() { // yield 1 // yield 2 // yield 3 // return 4 // } // const it = demo() // for (let k of it) { // console.log(k) // } function * d() { yield 1 yield 2 yield 3
2023-11-29 15:59:00
55
原创 yield
function* test() { yield 'a' yield 'b' } function* test1() { yield 'x' // yield* test() // for (let k of test()) { // console.log(k) // } yield 'y' } for (let v of test1()) {
2023-11-29 11:43:11
38
原创 生成迭代器
第二次 n.next(5) 函数继续执行,5赋值给上一次yield整体, x = 3 * 5,又遇见yield 5 ,把yield后面的表达式值作为next方法的返回值中value属性值。第三次 n.next(8) 函数继续执行 8赋值给上一次yield整体,y = 8 ,返回15+8 + 3 ,函数执行完毕,把返回值赋值给next方法的返回值中value属性值。let x = 3 * (yield num + 1) // yield后面的表达式作为本次next返回值的value属性值。
2023-11-29 10:20:12
49
原创 Map
/ Map存的是键值对map.set('address', { province: '浙江省', city: '杭州' })// 遍历})// WeakMap 它的键只能是对象,一个对象作为 WeakMap 的键存在,不会阻止该对象被垃圾回收// 性能更好。
2023-11-28 15:46:09
44
原创 Set集合
console.log(Array.from(set)) // 把集合转成数组。// 2 思路:对原数组进行遍历,判断每个元素不在新数组中,加到新数组中。console.log([...set]) // 把集合转成数组。// 1 利用set集合实现数组去重。// 判断集合是否含有某个元素。// 往集合添加元素。// 集合-Set集合不能重复。
2023-11-28 15:44:43
42
原创 数组变化
/ 数组静态方法 Array.isArray() Array.fromconsole.log(new Array(2)) // 2是元素长度// 数组扁平化// 实现方式二 递归} else {})// 实现方式一 数组的flat方法console.log(arr1.keys()) // 返回 一个迭代器对象 将来用for of。
2023-11-28 15:44:10
67
原创 箭头函数
/ 1 箭头函数没有this,它内部this由所处作用域(上下文)决定,call/apply/bind也不能改变箭头函数this。// console.log(arguments) // 报错 箭头函数没有arguments。//function f() {console.log('我是函数')}// 箭头函数 用=>把()和{}连在一起,语法更简洁。// 形参只有一个,小括号可以省略,其余情况全部要加()// 2 箭头函数没有arguments,普通函数有。// 箭头函数和普通函数区别。
2023-11-27 15:47:08
38
原创 ES6
/ 4 解构赋值 5 展开运算符、剩余运算符 6 对象 7 数组、字符串新增的方法 8 集合 map / set / weakMap。// 1 是否允许重复定义 2 是否有块级作用域 3 是否存在变量提升 4 暂时性死区。// 1 let const 2 模版字符串 `` 3 箭头函数。// 5 const定义的常量不能重新赋值。// let const var 区别。
2023-11-27 15:46:26
47
原创 修饰符应用
let str = '今年是tmd个好日子,tmd,学好js,tmd,TMD,tMd'// replace属于字符串方法// 全部替换关键词// }// 默认正则是惰性的,可以通过添加修饰符g来全部匹配// i 忽略大小写。
2023-11-27 10:34:41
60
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人