自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 结构体struct,结构体数组,结构体指针

3、使用typedef : stu 就是 struct Student类型的。1、定义结构体变量后对每个成员分别赋值。也可以在声明结构体时就定义结构体变量。2、定义结构体变量时就直接赋值。6、指向结构体数组 的指针。4、指向结构体变量的指针。

2022-10-16 16:48:28 284

原创 c数组、指针,二维数组,指针数组,数组指针,函数指针

2、用数组名方法访问指针。1、用指针法访问数组。

2022-10-16 16:46:35 201

原创 javascript继承

还是有缺点:当进行修复子类构造函数的指向Child.prototype.constructor = Child;优点:共享原型对象上的方法,方法定义在父类原型上,复用父类构造函数方法,如say方法。缺:方法不能复用,独立的(各实例不能通过父原型上的方法进行复用)。parent一般将属性封装在构造函数中,将方法定义在原型对象上。不能继承父类原型上的方法,如下例的fun方法。优:可向父类构造函数传参,不共享引用属性。父类实例的构造函数指向也会跟着变。,会存在一份多余的父类实例属性。比如下例子的arr属性。...

2022-08-15 17:23:40 215

原创 Vue 父子组件传值sync修饰符

子组件通过props自定义属性接受父组件传过来的值,只读但不能直接修改数据,再通过emit自定义事件修改父组件的数据。v-bind中。

2022-08-07 17:29:27 611

原创 动态表单配置select

1、通过el-form-item v-for=“(formName, index) in dynamicForm.formNames”遍历多个动态表单,数据项:默认的下拉框属性值:遍历的option是用计算属性el-option v-for=“item in filterOptions[index]”添加表单:实现添加表单实现删除表单:随意的提交全部代码:...

2022-07-13 17:48:53 589

原创 Vue的render函数

父组件:App,子组件:Testapp.vue中Test.vue组件 是使用template模板2.使用render函数当不使用template模板,直接使用render函数,实现了同样的效果。所以:实际上template 在Vue内部最终也会编译成render函数3.第一个参数1.动态创建标签第一个参数 标签/组件名 也可以由父组件传来,也就是render函数实现了动态创建标签:App.vue中传来tag=“h5”在Test.vue中定义props,实现了渲染’hello,我是

2022-07-13 17:45:20 2857

原创 Mobx--store状态管理工具

安装counter.Store.jsreact组件App.js中使用:2、含有计算属性counter.Store.jsreact组件App.js中使用:3、模块化使用useContext机制导出。模块counter.Store.js:模块list.Store.js组合子模块index.jsreact组件App.js中使用:.........

2022-06-30 17:33:49 909

原创 配置@路径简化路径处理

craco.config.js:3、修改 package.json 中的脚本命令。package.json中的"scripts":全覆盖了在代码中,就可以通过 @ 来表示 src 目录的绝对路径。

2022-06-30 11:24:19 459

原创 组件间通信

react:vue:2、子组件向父组件传数据react还没解决好vue:3、兄弟之间传值react:4、跨组件通信Contextreact:

2022-06-29 23:28:55 93

原创 Hooks在函数组件中使用useState、useEffect、useRef、useContext

只能在函数组件中,[数据data,修改数据方法setData ]----固定形式 自定义命名,setData 不能修改原值,不能嵌套在if/for/其他函数中,传参:2、useEffect在dom渲染之后执行 ,三种执行时机。没有依赖项时,初始化时执行一次,在修改数据更新组件都会执行useEffect(页面重新渲染)有空数组依赖项时,useEffect只在初始化时执行一次在这里发送网络请求,相当于在类组件的生命周期钩子函数componentDidMount阶段中。当有特定依赖项时,初

2022-06-29 16:59:33 762

原创 表单input控件数据双向绑定

1、react2、vue

2022-06-28 18:17:04 1105

原创 事件绑定触发

1、vue App.vue2、react App.js传参时react需要将其改造成箭头函数而vue直接传

2022-06-28 01:39:25 179

原创 列表渲染 map 与 v-for

1、react写法 在App.js2、vue App.vue

2022-06-28 00:12:24 262

原创 创建虚拟dom

只有一个h1标签1、使用jsx创建2、使用js创建虚拟dom在h1中再嵌套span标签用jsx的话直接写就可以了但是用js的话就不可以了需要再用一个React.createElement

2022-06-27 23:37:23 202

原创 Vue.js数据双向绑定原理与实现

数据劫持取实例监听的属性值时,触发getter。触发getter 时添加订阅者到订阅者数组中。在setter通知每一个订阅者更新dom。2.3模板解析模板解析时,把节点值 替换内容后,需要告诉订阅者要更新自己:创建实例。在update中获取最新值 传给回调函数。2.4Dep构造watcher实例时 把实例存到Dep实例中。2.5watcher在update中获取最新值 传给回调函数。收集完watch......

2022-06-16 22:26:48 228

原创 Object.keys

1、对象2、数组3、字符串4、构造函数与实例

2022-06-16 18:50:11 99

原创 引用变量赋值

1、修改数据对象:数组:2、指向另一个对象3、传参对象:数组:指向新的对象:对象:数组:例子:

2022-06-16 01:13:33 343

原创 Object.defineProperty新增/修改属性数据代理

1、给对象添加属性 <script type="text/javascript"> let person = { name:'庄文杰', sex:'男' } //给对象添加属性 参数:给哪个对象添加属性、属性名、配置项 Object.defineProperty(person,'age',{ value:18 })

2022-06-15 00:22:54 299

原创 let 块级作用域

1、var 和 let 函数作用域函数执行结束后变量会被js回收机制回收报错2、同一作用域不可重复声明不在同一作用域:3、if{}块作用域4、for的在for(; ; ) {}循环中 (; ;)为父作用域,{}为子作用域而使用var时:使用let但没有赋值时:没有在子作用域定义时:使用父作用域的:修改父作用域的:重复定义:5、使用var:使用let:......

2022-06-13 23:19:53 368

原创 扩展运算符和剩余参数rest

扩展运算符1、数组合并2、数组拷贝数组深浅拷贝:实现深拷贝:3、将伪数组转为真正的数组剩余参数restES6 引入 rest 参数,用于获取函数的实参,用来代替 arguments 。含有其他参数 rest参数必须放在最后面.........

2022-06-12 19:10:00 120

原创 vuex基本使用

1、没有使用vuex时实现:2、使用vuex在main.js 引入 import store from ‘./store’ ,再放入 new vue({})中。store/index.js在vue组件中:$store.state.sum实现或者使用 mapMutations、mapActions 辅助函数将组件中的 methods 映射为 store.commit。记住需要参数传递时@click="fun(n)”绑定事件时带参数实现数组形式:当事件方法名跟vuex中相同的情况下需要传

2022-06-07 16:21:22 128

原创 vscode插件

1、Code Runner右键直接运行js文件

2022-06-06 17:06:48 72

原创 前端权限管理

定义好全部的路由地址(需要权限校验)通过用户不同向后台请求不同的用户权限数据对用户权限做对比:请求数据 与 全部的路由对比,筛选后取出来作为路由配置1、初始化路由router/index.js2、全局路由导航守卫路由权限处理router/permission.js3、封装网络请求方法api/index.js4、封装axios请求拦截和响应拦截utils/http.js5、store状态管理store/index.jsstore/modules/index.js 封装不同模块

2022-06-06 16:14:17 633

原创 申请与审核

1、普通用户可以新增申请methods:表格显示的审核信息方法:

2022-06-04 21:50:47 177

原创 安装与查看是否安装

1、node.js查看node版本:node -v查看npm:npm -v查看cnpmcnpm -v2、yarnnpm install -g yarn//查看yarn3、vue-cli脚手架npm install -g @vue/cli//查看安装vue -V4、element-uinpm i element-ui -S

2022-06-02 01:02:34 1977

原创 折叠使用vuex

仅对该 折叠功能 简洁分析过程main中:<template> <el-container style="height:100%"> <!-- 侧边栏 --> <el-aside width="200px"> <Aside></Aside> </el-aside> <el-container>

2022-06-02 00:58:58 145

原创 tag面包屑vuex

1、tag.vue首页不能删 默认在<template> <div class="tabs"> <el-tag v-for="(tag,index) in tags" :key="tag.name" :closable="tag.name!=='home'" :effect="$route.name === tag.name ? 'dark' : 'plain' " @click="changeMe

2022-06-02 00:48:04 413 2

原创 instanceof实现原理

instanceof实现原理是判断构造函数的原型对象是否在实例对象的原型链上,是的话返回true,否则返回falsefunction Myinstanof (father,child){ const fp = father.prototype var cp = child.__proto__ while(cp){ if(cp===fp) return true cp = cp.__proto__ } return false}

2022-05-31 12:20:06 120

原创 defineProperty和proxy区别

监听对象1、defineProperty只能劫持对象的某一个属性,不能对整个对象进行劫持,如果需要监听某一个对象的所有属性,需要遍历对象的所有属性并对其进行劫持来进行监听。无法监听对象新增属性,// 原始对象const data = { name: 'Jane', age: 21, hhh:{ xxx:'hxhx' } } Object.keys(data).forEach(key => { let oldValue = dat

2022-05-31 01:21:12 139

原创 router.beforEach

未完伪代码import Vue from 'vue'import Router from 'vue-router'import xxx from 'xxx.vue'Vue.use(Router)const routes = [ { path:'/xxx', name:'xxx', component:xxx },]const router = new Router({ mode: 'history', routes

2022-05-27 21:26:20 1295

原创 js创建对象,构造函数,this,原型,继承

js创建对象1、使用构造函数(各实例间互不影响)(函数声明式创建函数对象)function Fun(){ this.name = ['林北星','张万森','展宇']; this.age = ['17','17','19']; this.fun = function(){ console.log('这是对象的方法'); }}console.log(Fun);var s1 = new Fun();//创建实例对象var s2 = new Fun(

2022-05-26 15:12:56 254

原创 vue中data为什么是函数

1、data是函数不会污染 <script> function Data(){ return{ name:'lxx', age:18 } } //在App.vue 导入import Child from "./components/Child"时 Child也是一个对象 //组件对象Child1有data属性 ,data:Data

2022-05-21 11:50:42 1255

原创 set数组去重及与map

1、set创建有两种用add、直接传入数组。const s1 = new Set()s1.add(1)s1.add(2)s1.add(3)const s2 = new Set([1,2,3])console.log(s1)console.log(s2);2、set不含重复const s = new Set()s.add(1)s.add(2)s.add(3)s.add(3)console.log(s);//还是Set(3) { 1, 2, 3 }3、delete、has、s

2022-05-18 18:39:56 516

原创 图片懒加载IntersectionObserver

//获取图片元素const images = document.querySelectorAll('img');//scroll滚动事件window.addEventListener('scroll',(e)=>{ //判断每张图片的位置是否出现在可视区域 images.forEach(image =>{ //获取每张图片到顶部的距离 const imTop = image.getBoundingClientRect().top;

2022-05-18 16:21:34 213

原创 watch监听

1、普通监听<body> <div id="app"> <p>年龄:{{age}}</p> <button @click="age++"> 修改age,增加年龄</button> </div></body><script src="vue-2.6.12.js"></script><script> const vm = new Vue(

2022-05-18 15:00:56 79

原创 mock模拟数据显示折线图柱状图饼图

效果图1、安装mocknpm i mockjs2、mock.js引入mockimport Mock from 'mockjs'//模块的方式将回调函数引入import homeApi from '@/api/mockServeData/home.js'//拦截器规则 url地址 回调函数返回具体的数据Mock.mock('/home/getData',homeApi.getStatisticalData)3、模拟数据 home.js// mock数据模拟imp

2022-05-14 16:04:51 785

原创 简单实现aside菜单栏折叠 vuex

aside菜单栏折叠

2022-05-13 18:16:50 947 1

原创 简单理解实现分页查询

举例分页:每页显示5条数据。1、查询 第1页: pageNum=1 pageSize=5.(pageNum-1)*pageSize = 该页的起始位置(1-1)*5 =0 ——> limit 0,50: 从第1个数据开始 。5: 每页有5个数据。select * from sys_user limit 0,52、查询 第2页: pageNum=2 pageSize=5.(pageNum-1)*pageSize = 该页的起始位置(2-1)*5 =5

2022-05-10 20:57:50 1525

原创 js之排序算法简洁

此时经过if判断high = mid-1,left还是mid,left>high退出循环。此时经过if判断,low=mid+1>,high还是mid,low>high退出循环。当前 i 往它的左边看,不合适的往后移,腾出一个位置可插入,不断去找这个值应该插在什么位置。所以不管哪种情况,val的位置就是low,或者说是high+1。平均时间复杂度:O(nlogn)最差时间复杂度:O(n^2)平均时间复杂度:O(n^2)最好时间复杂度:O(n^2)最差时间复杂度:O(n^2)平均时间复杂度:O(n^2)

2022-05-08 22:33:14 782

原创 回调地狱和promise

promise、async、await、宏任务微任务

2022-05-08 13:50:33 735

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除