- 博客(30)
- 收藏
- 关注
原创 基于pako的gzip解压
let strData = atob(res.data)let charData = strData.split('').map(function (x) { return x.charCodeAt(0); })let binData = new Uint8Array(charData)let data = pako.inflate(binData)strData = String.fromCharCode.apply(null, new Uint16Array(data))//解压后数据/*.
2022-04-01 10:45:05
792
原创 bind()实现
Function.prototype.myBind = function(context) { if (typeof this !== "function") { throw new Error("Type error") } //获取参数 const args = [...arguments].slice(1) const fn = this return function Fn() { // 当作为构造函数时,this 指向实例,此时 this instance.
2022-03-10 15:56:13
187
原创 this绑定规则优先级
判断this 现在我们可以根据优先级来判断函数在某个调用位置应用的是哪条规则。可以按照下面的 顺序来进行判断:1. 函数是否在 new 中调用(new 绑定)?如果是的话 this 绑定的是新创建的对象。 var bar = new foo()2. 函数是否通过 call、apply(显式绑定)或者硬绑定调用?如果是的话,this 绑定的是 指定的对象。 var bar = foo.call(obj2)3. 函数是否在某个上下文对象中调用(隐式绑定)?如果是的话,this 绑定的是那个上 下文对
2022-03-10 10:29:56
166
原创 this四条绑定规则
二,函数的调用位置寻找函数的调用位置:最重要的是分析调用栈(就是为了到达当前执行执行位置所调用的所有函数)我们关心的 调用位置就在当前正在执行的函数的前一个调用中。function baz() {// 当前调用栈是:baz// 因此,当前调用位置是全局作用域console.log( "baz" );bar(); // <-- bar 的调用位置}function bar() {// 当前调用栈是 baz -> bar// 因此,当前调用位置
2022-03-08 10:22:35
308
原创 监视路由变化
一,hash路由:window.onhashchange二,history路由history.go,history.back.history.forward使用popstate事件:window.onpopstatepushState,replaceState需要通过函数重写方式进行劫持const rawPushState = window.history.pushStatewindow.history.pushState = (...args) => { rawPus
2022-03-07 18:19:09
798
原创 Vue源码系列(一)
疑惑1:全局配置为什么只能通过Vue.config. 的形式获取。在vue项目中每个组件页面都相当于是Vue实例,那么说是Vue实例的话是不是可以直接通过this的形式拿到这些全局配置参数。问题解决:在没有看vue源码之前有这样的疑惑,当时认为全局配置是挂载在vue原型链上的,其实不然,全局配置参数并没有挂载在原型链上,在源码中是一个对象,入下图所示:本人理解:全局配置就是Vue.config.slient这些配置在源码中相当于是一个对象,调用的时候要用Vue原因是:...
2022-02-18 14:22:38
460
原创 CSS知识补充
1.readonly和disabledreadonly表示“只读”,一般表示对于文字内容只读,即不可更改内容,对于非文字的表单“只读”与“不只读”似乎没有啥区别;disabled表示“使残废,使无效”,都残废了,那还管你有没有文字内容,都得残掉。readonly属性只是将元素设置为只读,可以获取焦点、失去焦点。而disabled属性直接阻止对元素的一切操作。 disabled属性阻止对元素的一切操作,例如获取焦点,点击事件等等。 readonly属性只是将元素设置为只读,其他操作...
2022-02-17 14:55:30
344
原创 Vuex知识总结
一,图解Vuex二,Vuex核心概念1.state唯一的数据源:我们需要把任何一个组件中需要抽取出来的变量放入到state中去单一的状态树:只要把store注册到app.js中,所有组件都可以使用其中的状态官网定义:2.Getter通过Getters可以派生出一些新的状态注意:getter 在通过属性访问时是作为 Vue 的响应式系统的一部分缓存其中的。注意:getter 在通过方法访问时,每次都会去进行调用,而不会缓存结果。官网定义:3.Mutati
2022-02-17 14:43:27
700
原创 邮件功能问题总结
前端问题总结:后端问题总结:1.注解含意:1.@Transactional 注解用于提交事务,若没有带上这句,会报事务异常提示。2.@Modifying(clearAutomatically = true) 自动清除实体里保存的数据 /** * 邮件删除(发件箱列表删除) */ @Modifying @Transactional @Query(value = "update oa_xt_yjxx set yjzt = 2 wher
2022-01-19 18:02:05
171
转载 JDK安装步骤和环境变量配置
原文地址:JDK的最详细的安装教程 - 小玲子丫 - 博客园下载JDK 安装JDK 配置环境变量 测试JDK是否安装成功 环境变量详解 JAVA_HOME Path CLASSPATH CLASSPATH详解 下载JDK 到Oracle官网下载JDK 安装JDhttps://www.cnblogs.com/zll-wyf/p/15095664.html下载JDK到Oracle官网下载JDK安装JDK安装JDK时,除了修改安装目录,其他的一路【下一步】,傻瓜式安装。注:当提示安装JRE
2021-11-26 18:01:39
2285
原创 Node安装,改变npm全局默认C盘安装路径
1.自定义安装目录下新建两个文件夹node_cache和node_global2.cmd设置路径地址npm config set prefix "D:\node\node_global"npm config set cache "D:\node\node_cache"npm地址修改为淘宝镜像:npm config set registry https://registry.npm.taobao.org3.配置node环境变量增加环境变量NODE_PATH 配置的内容为nod...
2021-11-26 17:33:35
8259
4
原创 短信通知表单问题归纳
element-ui中el-table对一列数据进行过滤(使用vue过滤器) <el-table-column prop="fszt" label="发送状态" align="center" width="110"> <template slot-scope="scope"> {{scope.row.fszt | fsztFilter}} </template></el-table-column> 过滤器 filters: ..
2021-11-08 10:13:00
168
原创 JS深度遍历删除数组中对象的某个属性(适用于树形结构数组)
getDictData () { let dictData = this.dictionary.get(this.dictTypeCode) let data = this.composeTreeData(dictData, { id: 'id', pid: 'parentId' }) data.forEach(item => { if (item.children.length === 0) { delete item.children } else { this.rec.
2021-09-28 09:36:44
1741
原创 根据数组中每个对象中的某个属性值进行排序
let arr = [{'sd':'1','content':'这是上午'},{'sd':'2','content':'这是中午'},{'sd':'3','content':'这是下午'}]arr.sort(this.compare('sd'))compare(property){ return function(a,b){ let value1 = a[property] let value2 = b[property] return valu.
2021-09-06 10:29:03
151
原创 工作纪实中的数据处理情况
合并时段相同的数据和时段中类型相同的数据:let content1 = [] if (this.recordMap.get(key) != undefined) { this.recordMap.forEach((val) => { if (val.length > 1) { let index = [] let content = [] val.forEach(item => { if (index.inde
2021-08-30 16:50:38
171
转载 ElementUI下拉框点击展示树形结构
<template> <div class="main"> <el-popover class="select-tree" placement="bottom-start" width="500" trigger="click" v-model="visible" @hide="hidePopover"> <el-input ref="input" slot="reference" placeholder="请选择" v-model="text".
2021-08-30 16:39:25
2757
原创 多次遇到的问题:
表单域标签宽度设置固定值(80px) 使用栅格布局(el-row,el-col) 在可视区域宽度缩小的时候,input框会缩小达到响应式的目的
2021-08-23 15:47:57
78
原创 表单查询多个按钮条件制约
整体思路:设置变量保存不同情况的数据,根据条件再选择不同情况的数据进行页面展示。1.不点击查询按钮,直接点击划拨项目或者出让项目情况: 在不点击查询按钮的情况下不需要表单的数据,即表单数据为空,因此传入按钮对应方法的参数value为undefined,查询结果变量也为空,即根据划拨还是出让进行表单值为空的查询,结果进行显示即可。(此时注意要将此结果拷贝一份给一个新定义变量,后续条件判断会使用到,并且在点击划拨时将一个全局变量hb设置为true,cr设置为false;点击出让时刚好...
2021-08-17 14:41:09
279
原创 [_ob_:Observer]不可枚举类型获取数组中的值
这种类型必须一层一层将其解析为正常数组或者对象,对每一层进行相应遍历并覆盖原始值。第一层数组:Object.assign([],arr)第二层对象:数组中的每一项对象内容:Object.assign({},obj)第三层:对象中的数组:Object.assign([],arr1)以此类推,最终得到可以遍历的数组(过程比较繁琐,非必须大可不必)...
2021-08-09 14:11:58
786
原创 原生Python实现KNN算法(使用鸢尾花数据集)
一.题目:原生python实现knn分类算法(使用鸢尾花数据集)K最近邻(KNN,K-nearestNeighbor)分类算法的核心思想是如果一个样本在特征空间中的K个最相邻的样本中的大多数属于某一个类别,则该样本属于也属于这个类别,并具有这个类别样本上的特性。即选取k个离测试点最近的样本点,输出在这k个样本点中数量最多的标签。所以要实现kNN算法,我们只需要计算出每一个样本点与...
2019-10-14 14:33:02
1991
原创 将非负十进制整数n转换成b进制
递归一:题目1将非负十进制整数n转换成b进制。(其中b = 2~16)二:题目分析将十进制n转换成任意进制b的方法是:n除以b取余作为转换后的数的最低位,在商不为0的情况下,则商继续除以b,取余作为次低位,直到商为0为止。思想:·将十六进制的表示形式,即'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','...
2019-06-07 23:39:39
782
原创 KFC收银系统
KFC收银系统题目:同学们应该都去麦当劳或肯德基吃过快餐吧?请同学们参考肯德基官网的信息,模拟肯德基快餐店的收银系统,合理使用C++或Java或Python结合设计模式至少实现系统的以下功能:正常餐品结算和找零。 基本套餐结算和找零。 使用优惠券购买餐品结算和找零。 可在一定时间段参与店内活动(自行设计或参考官网信息)。 模拟打印小票的功能(写到文件中)。分析:运用抽象工...
2019-05-11 20:34:23
637
原创 24点经典纸牌游戏
题目:24点游戏是经典的纸牌益智游戏。常见游戏规则:从扑克中每次取出4张牌。使用加减乘除,第一个能得出24者为赢。(其中,J代表11,Q代表12,K代表13,A代表1),按照要求编程解决24点游戏。基本要求:随机生成4个代表扑克牌牌面的数字字母,程序自动列出所有可能算出24的表达式,用擅长的语言(C/C++/Java或其他均可)实现程序解决问题。分析:穷举法思想随...
2019-04-12 18:22:04
3074
原创 单词小助手(c语言)
第三章上机作业实验目的:1.明确结构化程序设计的基本结构。 2.通过对问题的分析,设计合理的结构化程序解决问题。实验内容:单词小助手,要求完成以下任务:1.改写程序为良好程序风格(文档注释,函数注释,语句注释)。2.将单词测试中的功能完善,可针对做错的单词重复记忆。3.查询单词的功能添加英文词查询,中文查询的功能完善(考...
2019-04-03 16:14:42
691
原创 求N个数的最大公约数和最小公倍数
程序设计作业题目:求N个数的最大公约数和最小公倍数。分析:求多个数的问题可以转换成多个两个数之间的问题,利用随机函数产生多个数保存在数组中,然后先求出前两个数的最大公约数(最小公倍数),然后用求出的数再和下一个进行运算,就这样一直运算下去,结果就出来了。流程图:调试过程:产生随机数20个:20个数的最小公倍数:20个数的最大公约数:...
2019-03-22 17:10:59
299
原创 C语言实现图灵机(XN*2)运算过程。
程序设计上机作业题目:C语言实现图灵机(XN*2)运算过程。要求:输入十进制数,转换成图灵机进行运算的二进制形式,然后根据语句命令进行运算,输出每一步的运算结果,最终输出计算结果(十进制)。分析:(1)首先将十进制数转换成二进制数保存在数组b[]中(2)然后将二进制数转换成图灵机进行运算的二进制数,保存在数组c[]中(3)通过命令进行运算后输出得到的图灵机二进制(4)然...
2019-03-22 14:27:09
2653
1
原创 求最大公约数4种算法比较
一. 实验目的明确算法的概念和特点。 通过对问题的分析,设计合理的算法解决问题;二. 实验内容运行最大公约数的常用算法,并进行程序的调式与测试,要求程序设计风格良好,并添加异常处理模块(如输入非法等)。比较4种GCD算法在给定不同规模测试数据的情况下的平均运行时间三. 题目分析首先,要比较不同算法在求解同一组数据所运行的时间,数据方面采用随机函数srand(time(0))产生...
2019-03-09 19:13:59
663
原创 三天打鱼两天晒网(c)
作业说明作业:三天打鱼两天晒网 作业分析:问题目的是计算出从2010年1月1日开始到指定日期共有多少天,然后根据三天打鱼两天晒网五天为一周期,通过相除取余数的方法即可判断出指定日期这一天是打鱼还是晒网。 细节分析:在计算总天数时需考虑是否为闰年,在用户输入指定日期时要判断输入的日期是否合理。 算法设计:将十定义变量日期年月日year,month,day。 二个月的天数保存在一个数组中...
2019-03-05 16:22:02
981
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人