<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[yuhong's blog]]></title><description><![CDATA[记录学习笔记，成果展示，学习工作中遇到的问题等]]></description><link>https://blog.youkuaiyun.com/kill_fish</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; kill_fish]]></copyright><item><title><![CDATA[ES6 Map数据类型创建、迭代、与 Array Object 转换、使用场景与优势等]]></title><link>https://blog.youkuaiyun.com/kill_fish/article/details/115549081</link><guid>https://blog.youkuaiyun.com/kill_fish/article/details/115549081</guid><author>kill_fish</author><pubDate>Fri, 09 Apr 2021 14:59:38 +0800</pubDate><description><![CDATA[目录Map的创建Map的迭代Map的操作/转换Map对象与Array数组互转Map对象与Object对象互转Map对象的克隆Map对象的合并Map的自带属性与函数Map的使用场景与优势
Map的创建
let map= new Map()
map.set(0, 'a')
map.set(1, 'b')
// 获得：Map(2) {0 =&gt; "a", 1 =&gt; "b"} 的数据结构

Map的迭代
// 继续上面已经创建的Map结构
// 写法一
for (let [key, value] of m]]></description><category></category></item><item><title><![CDATA[正则表达式（语法篇）]]></title><link>https://blog.youkuaiyun.com/kill_fish/article/details/115398802</link><guid>https://blog.youkuaiyun.com/kill_fish/article/details/115398802</guid><author>kill_fish</author><pubDate>Fri, 02 Apr 2021 16:11:34 +0800</pubDate><description><![CDATA[这里写目录标题正则（语法篇/有些大类里面的元素会有重叠）一、创建1.字面量2.构造函数二、RegExp对象方法1.exec2.test3.toString三、String对象方法1.search2.match3.replace4.split四、元字符（拥有特殊含义的字符）.*+?$^|\()[]{}\w\W\d\D\s\S\b\B\0\f\r五、修饰符（匹配模式）igmsuy六、零宽断言正向（后面） 负向（前面） 肯定断言  否定断言正向肯定断言（替换前面的，断言后面的）正向否定断言（替换前面的，断言后面的]]></description><category></category></item><item><title><![CDATA[企业微信自建应用（JS-SDK）：聊天工具栏分享消息到会话]]></title><link>https://blog.youkuaiyun.com/kill_fish/article/details/115215772</link><guid>https://blog.youkuaiyun.com/kill_fish/article/details/115215772</guid><author>kill_fish</author><pubDate>Thu, 25 Mar 2021 20:15:34 +0800</pubDate><description><![CDATA[目录一、目的一、核心代码二、可能遇到1.不起眼的小字2.不起眼的小字(版本限制)3.不起眼的小字(jsApiList)4.不起眼的小字(判断入口环境)5.不起眼的小字(后台配置)6.不起眼的小字(agentid)6.不起眼（巨大）的BUG总结

一、目的

将图片，视频，商品，文字，文章等直接分享给当前会话客户

一、核心代码

官网链接：企业微信API文档


API: 聊天工具栏分享消息到会话 (sendChatMessage)
这里不知为何唯独缺少对音频的支持

	wx.invoke('sendCha]]></description><category></category></item><item><title><![CDATA[PC、H5页面从详情页跳回列表页保留滚动条位置]]></title><link>https://blog.youkuaiyun.com/kill_fish/article/details/115211381</link><guid>https://blog.youkuaiyun.com/kill_fish/article/details/115211381</guid><author>kill_fish</author><pubDate>Thu, 25 Mar 2021 18:43:15 +0800</pubDate><description><![CDATA[文章目录一、先决条件一、两种情况二、代码情况一情况二1.设置keep-alive2.记录滚动条位置3.获取滚动条位置三、核心代码四、属性

一、先决条件

1.vue框架
2.使用keep-alive keep-alive的vue官网链接

一、两种情况

1.第一种情况：从列表跳转到详情，详情页只供查看，不需要编辑，因此跳转回去的时候不需要更新页面数据
2.第二种情况：从列表跳转到详情，详情页需要编辑，因此跳转回去的时候需要更新页面数据

二、代码
情况一

1.设置 keep-alive
2.从列表页跳]]></description><category></category></item><item><title><![CDATA[css3-animation-遮罩弹窗落地]]></title><link>https://blog.youkuaiyun.com/kill_fish/article/details/109510108</link><guid>https://blog.youkuaiyun.com/kill_fish/article/details/109510108</guid><author>kill_fish</author><pubDate>Thu, 05 Nov 2020 14:19:07 +0800</pubDate><description><![CDATA[CSS3落地弹窗思路效果代码问题
思路
动画描述：


点击灰色背景弹出遮罩与弹窗
弹窗渐快落下，渐慢升起，来回四个回合，同时升起距离模仿能量流失慢慢减少
每次弹窗落至同样的高度时小球渐显，弹窗上升时小球渐隐


效果

代码
&lt;template&gt;
    &lt;div class="container" @click="triggerAnimation"&gt;
        &lt;img 
        v-show="topStepInFlag" 
        :class="]]></description><category></category></item><item><title><![CDATA[BUG(编辑时el-checkbox无法选中)]]></title><link>https://blog.youkuaiyun.com/kill_fish/article/details/107830617</link><guid>https://blog.youkuaiyun.com/kill_fish/article/details/107830617</guid><author>kill_fish</author><pubDate>Thu, 06 Aug 2020 09:33:34 +0800</pubDate><description><![CDATA[问题描述：

1.从列表页新建跳转至详情编辑页，3 个 el-checkbox 选中第 3 个，保存，跳转回列表页。
2.点击此条信息对应的编辑按钮进入编辑详情页，el-checkbox 选中情况跟原先一样，但是点击第 1、3 个 el-checkbox 框无法选中，点击原来的第 2 个之前选中的 el-checkbox 框，无法取消选中。
3.watch监听不到变化；@change监听到值一直不变， el-checkbox-group 绑定的v-model值发现无论怎么选始终都为 [2]。

旧代码情况：]]></description><category></category></item><item><title><![CDATA[css3-animation-外边框闪烁警告]]></title><link>https://blog.youkuaiyun.com/kill_fish/article/details/107230717</link><guid>https://blog.youkuaiyun.com/kill_fish/article/details/107230717</guid><author>kill_fish</author><pubDate>Thu, 09 Jul 2020 17:19:06 +0800</pubDate><description><![CDATA[css3闪烁边框相关属性相关示例遇到的问题
相关属性

1.animation


animation的属性值非常多

2.box-shadow
box-shadow: h-shadow v-shadow blur spread color inset;
css3: 属性值–*水平阴影的位置，*垂直阴影的位置，模糊距离，阴影的大小，阴影的颜色，从外侧阴影改变内侧阴影`
四周阴影的示例：	
3.box-sizing
box-sizing: content-box|border-box|inherit:
4.另]]></description><category></category></item><item><title><![CDATA[《JavaScript高级程序设计》BOM（学习笔记C08）]]></title><link>https://blog.youkuaiyun.com/kill_fish/article/details/107209532</link><guid>https://blog.youkuaiyun.com/kill_fish/article/details/107209532</guid><author>kill_fish</author><pubDate>Wed, 08 Jul 2020 18:08:42 +0800</pubDate><description><![CDATA[BOM一、window对象二、location对象三、navigator对象四、screen对象五、history对象六、小结

简介：
1.ECMAScript是JavaScript的核心，但如果在Web中使用JavaScript,BOM(浏览器对象模型)是其真正的核心。
2.W3C为了把浏览器中JavaScript最基本的部分标准化，已经将BOM的主要方面纳入HTML5的规范中。

一、window对象
1.全局作用域


window对象既是JavaScript访问浏览器窗口的一个接口，又是ECMAS]]></description><category></category></item><item><title><![CDATA[微信小程序云开发起步步骤与报错]]></title><link>https://blog.youkuaiyun.com/kill_fish/article/details/107063426</link><guid>https://blog.youkuaiyun.com/kill_fish/article/details/107063426</guid><author>kill_fish</author><pubDate>Wed, 01 Jul 2020 16:14:42 +0800</pubDate><description><![CDATA[步骤与问题新建云开发模板开通云开发、创建环境体验小程序查看控制台
官方文档链接：https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/quickstart.html
新建云开发模板

1.在新建项目时，如果主动填入申请后的小程序AppID，模板会自动选择为云开发模板
2.在默认模板中有与project.config.json文件平级的文件夹cloudfunctions，用来存放云函数等


开通云开发、创建环境

1.点击云开发以开通云]]></description><category></category></item><item><title><![CDATA[《JavaScript高级程序设计》离线应用与客户端存储（学习笔记C23）]]></title><link>https://blog.youkuaiyun.com/kill_fish/article/details/107044420</link><guid>https://blog.youkuaiyun.com/kill_fish/article/details/107044420</guid><author>kill_fish</author><pubDate>Tue, 30 Jun 2020 16:19:43 +0800</pubDate><description><![CDATA[离线应用与客户端存储离线检测应用缓存数据存储CookieIE用户数据Web存储机制IndexedDB
离线检测

该小结重点：一个属性（navigator.online）两个事件（online/offline）
navigator.onLine: true-&gt;设备能上网；false-&gt;设备离线。
navigator.onLine 在不同浏览器间有小差异

IE6+ Safari5+ 能正确应用
Firefox3+ Opera10.6+ 手动设置“文件-&gt;Web开发人员（设置）-&gt;脱机]]></description><category></category></item><item><title><![CDATA[vue官方教程笔记(基础篇)]]></title><link>https://blog.youkuaiyun.com/kill_fish/article/details/106806902</link><guid>https://blog.youkuaiyun.com/kill_fish/article/details/106806902</guid><author>kill_fish</author><pubDate>Wed, 17 Jun 2020 15:03:25 +0800</pubDate><description><![CDATA[vue官方教程笔记一基础部分介绍声明式渲染条件与循环处理用户输入组件化应用构建vue实例完整的组成元素API文档创建vue实例数据与方法生命周期钩子模板语法插值指令缩写(语法糖)计算属性和侦听器计算属性侦听器Class 与 Style 绑定条件渲染v-ifv-showv-if vs v-showv-if 与 v-for一起使用列表渲染事件处理监听事件事件处理方法内联处理器方法：事件修饰符按键修饰符按键码（已经被废弃）系统修饰符表单输入绑定基础用法值绑定修饰符在组件上使用v-model组件基础基本示例组件的复]]></description><category></category></item><item><title><![CDATA[Element+Vue (el-tooltip的content折行展示)]]></title><link>https://blog.youkuaiyun.com/kill_fish/article/details/106717418</link><guid>https://blog.youkuaiyun.com/kill_fish/article/details/106717418</guid><author>kill_fish</author><pubDate>Fri, 12 Jun 2020 16:09:54 +0800</pubDate><description><![CDATA[el-tooltip的content折行展示

问题描述：
1.接口给一个字符串，前端根据给定标志做折行操作
代码描述：
1.用计算属性接收字符串处理成相应数组返回
2.内容通过for循环每段语句和’&lt;br/&gt;'进行折行

&lt;el-tooltip placement="top"&gt;
	&lt;div slot="content"&gt;
	   	&lt;span 
	       v-for="item in contentList(scope.row.str)" 
	       ]]></description><category></category></item><item><title><![CDATA[《数据结构与算法JavaScript描述》图和图算法（学习笔记C11）]]></title><link>https://blog.youkuaiyun.com/kill_fish/article/details/106538218</link><guid>https://blog.youkuaiyun.com/kill_fish/article/details/106538218</guid><author>kill_fish</author><pubDate>Thu, 04 Jun 2020 09:13:48 +0800</pubDate><description><![CDATA[图和图算法相关概念代码未完待续
相关概念

1.图由边的集合及顶点的集合组成。
2.顶点也有权重，也称为成本。
3.如果一个图的顶点对是有序的，则可以称之为有向图。有向图表明了顶点的流向。
4. 如果图是无序的，则称之为无序图，或无向图。
5.图中的一系列顶点构成路径，路径中所有的顶点都由边连接。
6.路径的长度用路径中第一个顶点到最后一个顶点之间边的数量表示。
7.由指向自身的顶点组成的路径称为环，环的长度为 0。
8.圈是至少有一条边的路径，且路径的第一个顶点和最后一个顶点相同。
9.无论是有向图还是无]]></description><category></category></item><item><title><![CDATA[《数据结构与算法JavaScript描述》二叉树和二叉查找树（学习笔记C10）]]></title><link>https://blog.youkuaiyun.com/kill_fish/article/details/106528473</link><guid>https://blog.youkuaiyun.com/kill_fish/article/details/106528473</guid><author>kill_fish</author><pubDate>Wed, 03 Jun 2020 17:25:24 +0800</pubDate><description><![CDATA[二叉树和二叉查找树相关概念代码
相关概念

1.树是一种非线性的数据结构，以分层的方式存储数据。
2.树被用来存储具有层级关系的数据，比如文件系统中的文件；树还被用来存储有序列表。
3.选择树而不是那些基本的数据结构，是因为在二叉树上进行查找非常快（而在链表上查找则不是这样），为二叉树添加或删除元素也非常快（而对数组执行添加或删除操作则不是这样）。
4.二叉树是一种特殊的树，它的子节点个数不超过两个。
5.二叉查找树是一种特殊的二叉树，相对较小的值保存在左节点中，较大的值保存在右节点中。

代码
// 二叉]]></description><category></category></item><item><title><![CDATA[《数据结构与算法JavaScript描述》散列（学习笔记C08）]]></title><link>https://blog.youkuaiyun.com/kill_fish/article/details/106528150</link><guid>https://blog.youkuaiyun.com/kill_fish/article/details/106528150</guid><author>kill_fish</author><pubDate>Wed, 03 Jun 2020 17:04:29 +0800</pubDate><description><![CDATA[散列相关概念代码未完待续P94
相关概念

1.散列是一种常用的数据存储技术，散列后的数据可以快速地插入或取用。
2.散列使用的数据结构叫做散列表。
3.在散列表上插入、删除和取用数据都非常快，但是对于查找操作来说却效率低下。
4.我们的散列表是基于数组进行设计的。
5.使用散列表存储数据时，通过一个散列函数将键映射为一个数字，这个数字的范围是 0 到散列表的长度。

代码
// 散列

// 数组的长度需要是质数

// HashTable类（表示散列表）
function HashTable() {
 ]]></description><category></category></item><item><title><![CDATA[《数据结构与算法JavaScript描述》字典（学习笔记C07）]]></title><link>https://blog.youkuaiyun.com/kill_fish/article/details/106523593</link><guid>https://blog.youkuaiyun.com/kill_fish/article/details/106523593</guid><author>kill_fish</author><pubDate>Wed, 03 Jun 2020 14:36:11 +0800</pubDate><description><![CDATA[字典相关概念代码
相关概念

1.字典是一种以键 - 值对形式存储数据的数据结构。
2.JavaScript 的 Object 类就是以字典的形式设计的。

代码
// 字典

// 以Array类为基础实现Dictionary类

// 定义Dictionary类
function Dictonary() {
    this.datastore = new Array()
    this.add = add
    this.find = find
    this.remove = remove
 ]]></description><category></category></item><item><title><![CDATA[《数据结构与算法JavaScript描述》链表（学习笔记C06）]]></title><link>https://blog.youkuaiyun.com/kill_fish/article/details/106522779</link><guid>https://blog.youkuaiyun.com/kill_fish/article/details/106522779</guid><author>kill_fish</author><pubDate>Wed, 03 Jun 2020 14:24:22 +0800</pubDate><description><![CDATA[链表相关概念代码力扣相关题目
相关概念

1.如果你发现数组在实际使用时很慢，就可以考虑使用链表来替代它。
因为，JavaScript 中数组的主要问题是，它们被实现成了对象，与其他语言（比如 C++ 和 Java）的数组相比，效率很低
2.链表是由一组节点组成的集合。
3.每个节点都使用一个对象的引用指向它的后继。
4.指向另一个节点的引用叫做链。
5.数组元素靠它们的位置进行引用，链表元素则是靠相互之间的关系进行引用。

代码
// 1.基础链表

// Node类表示节点
// LinkedList类]]></description><category></category></item><item><title><![CDATA[《数据结构与算法JavaScript描述》队列（学习笔记C05）]]></title><link>https://blog.youkuaiyun.com/kill_fish/article/details/106522556</link><guid>https://blog.youkuaiyun.com/kill_fish/article/details/106522556</guid><author>kill_fish</author><pubDate>Wed, 03 Jun 2020 13:51:11 +0800</pubDate><description><![CDATA[队列相关概念代码
相关概念

队列是一种列表，不同的是队列只能在队尾插入元素，在队首删除元素。
队列是一种先进先出（First-In-First-Out，FIFO）的数据结构。
入队操作在队尾插入新元素，出队操作删除队头的元素。
peek()读取队头的元素。

代码
// 队列--先进先出--FIFO
// 常规操作：
// 入队
// 出队
// 返回队头元素 peek()
// length
// clear()
// 底层实现结构--数组
// 数组： push() 末尾添加元素
// 数组： shi]]></description><category></category></item><item><title><![CDATA[《数据结构与算法JavaScript描述》栈（学习笔记C04）]]></title><link>https://blog.youkuaiyun.com/kill_fish/article/details/106520304</link><guid>https://blog.youkuaiyun.com/kill_fish/article/details/106520304</guid><author>kill_fish</author><pubDate>Wed, 03 Jun 2020 13:32:02 +0800</pubDate><description><![CDATA[栈相关概念代码力扣相关题目
相关概念

1.栈是一种特殊的列表，栈内的元素只能通过列表的一端访问，这一端称为栈顶。
2.栈被称为一种后入先出（LIFO，last-in-first-out）的数据结构。
3.入栈使用 push() 方法，出栈使用 pop() 方法，peek() 方法则只返回栈顶元素（预览栈顶元素不删除）。

代码
// 栈的实现
// 常规操作： 
// 压入栈 push()
// 弹出栈 pop()
// 预览栈顶 peek()
// 顶元素位置 变量 top
// 清除栈内所有元素 cl]]></description><category></category></item><item><title><![CDATA[《数据结构与算法JavaScript描述》列表（学习笔记C03）]]></title><link>https://blog.youkuaiyun.com/kill_fish/article/details/106516880</link><guid>https://blog.youkuaiyun.com/kill_fish/article/details/106516880</guid><author>kill_fish</author><pubDate>Wed, 03 Jun 2020 11:15:40 +0800</pubDate><description><![CDATA[列表相关概念代码
相关概念

1.列表是一组有序的数据。
2.每个列表中的数据项称为元素。
3.在 JavaScript 中，列表中的元素可以是任意数据类型。
4.列表中可以保存多少元素并没有事先限定，实际使用时元素的数量受到程序内存的限制。
5.不包含任何元素的列表称为空列表。
6.列表中包含元素的个数称为列表的 length。

代码
// 实现列表类
function List() {
    this.listSize = 0 // 列表元素个数
    this.pos = 0 // 列表的当前位]]></description><category></category></item></channel></rss>