<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[laurel_y的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/laurel_y</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; laurel_y]]></copyright><item><title><![CDATA[Vue：字符串模板和dom模板的区别]]></title><link>https://blog.youkuaiyun.com/laurel_y/article/details/125058652</link><guid>https://blog.youkuaiyun.com/laurel_y/article/details/125058652</guid><author>laurel_y</author><pubDate>Tue, 31 May 2022 09:34:55 +0800</pubDate><description><![CDATA[最近看到vue官方文档的时候，多次提及字符串模板和dom模板，对这个概念比较模糊，经查阅后记录供日后参考。
1.字符串模板
字符串模板就是写在vue中的template中定义的模板，如.vue的单文件组件模板和定义组件时template属性值的模板。字符串模板不会在页面初始化参与页面的渲染，会被vue进行解析编译之后再被浏览器渲染，所以不受限于html结构和标签的命名。
	Vue.component('MyComponentA', {
	    template: '&lt;div MyId="123"&g]]></description><category></category></item><item><title><![CDATA[工具：前端构建]]></title><link>https://blog.youkuaiyun.com/laurel_y/article/details/124803450</link><guid>https://blog.youkuaiyun.com/laurel_y/article/details/124803450</guid><author>laurel_y</author><pubDate>Mon, 16 May 2022 17:11:23 +0800</pubDate><description><![CDATA[转载一篇很不错的博文：
https://baijiahao.baidu.com/s?id=1711602874992002736&amp;wfr=spider&amp;for=pc

]]></description><category></category></item><item><title><![CDATA[JavaScript：将LIST转化为TREE格式的几种写法]]></title><link>https://blog.youkuaiyun.com/laurel_y/article/details/119250846</link><guid>https://blog.youkuaiyun.com/laurel_y/article/details/119250846</guid><author>laurel_y</author><pubDate>Fri, 30 Jul 2021 16:32:59 +0800</pubDate><description><![CDATA[最近需要做list和tree的转换，看到一篇还不错的文章转载一下供后续查阅：
源数据示例
源数据共401条
	[{ "menuId" : "5f50c5fb8f0d74536bbfb7a4", "menuName" : "菜单管理", "parentMenuId" : null },
	{ "menuId" : "5f524416ff216c2cbc554907", "menuName" : "频道管理", "parentMenuId" : "5f50c5fb8f0d74536bbfb7a4" },
	{ ]]></description><category></category></item><item><title><![CDATA[AngularJS：应用的启动和执行过程]]></title><link>https://blog.youkuaiyun.com/laurel_y/article/details/116229022</link><guid>https://blog.youkuaiyun.com/laurel_y/article/details/116229022</guid><author>laurel_y</author><pubDate>Wed, 28 Apr 2021 10:58:27 +0800</pubDate><description><![CDATA[启动（startup）：
&lt;!doctype html&gt;
&lt;html ng-app&gt;
  &lt;head&gt;
    &lt;script src="http://code.angularjs.org/angular-1.1.0.min.js"&gt;&lt;/script&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;p ng-init=" name='World' "&gt;Hello {{name}}!&lt;/p&gt;
  &l]]></description><category></category></item><item><title><![CDATA[工具（三大图表库）：ECharts 、 BizCharts 和 G2，该如何选择？]]></title><link>https://blog.youkuaiyun.com/laurel_y/article/details/116003294</link><guid>https://blog.youkuaiyun.com/laurel_y/article/details/116003294</guid><author>laurel_y</author><pubDate>Thu, 22 Apr 2021 10:43:13 +0800</pubDate><description><![CDATA[最近阿里正式开源的BizCharts图表库基于React技术栈，各个图表项皆采用了组件的形式，贴近React的使用特点。同时BizCharts基于G2进行封装，Bizcharts也继承了G2相关特性。公司目前统一使用的是ECharts图表库，下文将对3种图表库进行分析比对。 图表库相...]]></description><category></category></item><item><title><![CDATA[Angular：将Angular项目模块化]]></title><link>https://blog.youkuaiyun.com/laurel_y/article/details/113857804</link><guid>https://blog.youkuaiyun.com/laurel_y/article/details/113857804</guid><author>laurel_y</author><pubDate>Fri, 19 Feb 2021 10:19:51 +0800</pubDate><description><![CDATA[将Angular项目模块化一、解决方案二、经历的错误三、一点经验
一、解决方案
https://angular.cn/guide/creating-libraries （官方说明文档）
https://segmentfault.com/a/1190000022637243  （实践案例）
二、经历的错误
我最初采用的解决方案是使用ng-packagr将功能模块打成独立的npm包，但是当时初始化项目创建成application，而不是library导致最后插件组装时遇到各种奇怪的问题，最终还是决定更换解决方案]]></description><category></category></item><item><title><![CDATA[JavaScript：对象可枚举和不可枚举属性]]></title><link>https://blog.youkuaiyun.com/laurel_y/article/details/108278601</link><guid>https://blog.youkuaiyun.com/laurel_y/article/details/108278601</guid><author>laurel_y</author><pubDate>Fri, 28 Aug 2020 14:14:51 +0800</pubDate><description><![CDATA[在JavaScript中，对象的属性分为可枚举和不可枚举之分，它们是由属性的enumerable值决定的。可枚举性决定了这个属性能否被for…in查找遍历到。
一、怎么判断属性是否可枚举
js中基本包装类型的原型属性是不可枚举的，如Object, Array, Number等，如果你写出这样的代码遍历其中的属性：
var num = new Number();
for(var pro in num) {
    console.log("num." + pro + " = " + num[pro]);
}
]]></description><category></category></item><item><title><![CDATA[HTTP：网络请求状态码204、304]]></title><link>https://blog.youkuaiyun.com/laurel_y/article/details/108274018</link><guid>https://blog.youkuaiyun.com/laurel_y/article/details/108274018</guid><author>laurel_y</author><pubDate>Fri, 28 Aug 2020 10:03:22 +0800</pubDate><description><![CDATA[https://blog.youkuaiyun.com/huwei2003/article/details/70139062
HTTP的状态码有很多种,主要有1xx（临时响应）、2xx（成功）、3xx（已重定向）、4xx（请求错误）以及5xx（服务器错误）五...]]></description><category></category></item><item><title><![CDATA[系统设计：单页面和多页面应用区分]]></title><link>https://blog.youkuaiyun.com/laurel_y/article/details/108141352</link><guid>https://blog.youkuaiyun.com/laurel_y/article/details/108141352</guid><author>laurel_y</author><pubDate>Fri, 21 Aug 2020 10:11:18 +0800</pubDate><description><![CDATA[单页面应用（SinglePage Web Application，SPA）
只有一张Web页面的应用，是一种从Web服务器加载的富客户端，单页面跳转仅刷新局部资源 ，公共资源(js、css等)仅需加载一次，常用于PC端官网、购物等网站
如图:
&nbsp;
单页面应用结构视图
&nbsp;
多页面应用（MultiPage Application，MPA）
多页面跳转刷新所有资源，每个公共资源(js、css等)需选择性重新加载，常用于 app 或 客户端等
如图：
&nbsp;
多页面应用结构视图
&nbs.]]></description><category></category></item><item><title><![CDATA[console.log()中的%d,%s等代表什么]]></title><link>https://blog.youkuaiyun.com/laurel_y/article/details/108099574</link><guid>https://blog.youkuaiyun.com/laurel_y/article/details/108099574</guid><author>laurel_y</author><pubDate>Wed, 19 Aug 2020 14:17:57 +0800</pubDate><description><![CDATA[在console.log()或console.debug()中输出时会有%d,%s等符号。

%s for a String value 字符类型
%d or %i for a Integer value 整型
%f for a Floating point number 浮点类型number
%o for an Object hyperlink 对象类型超链接

var name = 'Chris'
console.log('Hi, my name is %s.', name);
//Output: Hi]]></description><category></category></item><item><title><![CDATA[工具：element-UI树回显时，父节点联动无权限子节点的问题]]></title><link>https://blog.youkuaiyun.com/laurel_y/article/details/104475947</link><guid>https://blog.youkuaiyun.com/laurel_y/article/details/104475947</guid><author>laurel_y</author><pubDate>Mon, 24 Feb 2020 13:07:59 +0800</pubDate><description><![CDATA[例子

1:问题原因：我们可能使用
this.$refs.tree.setCheckedKeys(this.defalutArr);
或者使用
:default-expanded-keys=“treeDataSelect” :default-checked-keys=“treeDataSelect”
来进行回显的
获取数据


解决：
if (res.data.code == 200) {
//默...]]></description><category></category></item><item><title><![CDATA[HTTP：理解TCP/IP三次握手与四次挥手的正确姿势]]></title><link>https://blog.youkuaiyun.com/laurel_y/article/details/104019682</link><guid>https://blog.youkuaiyun.com/laurel_y/article/details/104019682</guid><author>laurel_y</author><pubDate>Fri, 17 Jan 2020 15:20:04 +0800</pubDate><description><![CDATA[背景
和女朋友异地恋一年多，为了保持感情我提议每天晚上视频聊天一次。
从好上开始，到现在，一年多也算坚持下来了。
问题
有时候聊天的过程中，我的网络或者她的网络可能会不好，视频就会卡住，听不到对方的声音，过一会儿之后才会恢复。
中间双方可能就要不断的确认网络是否恢复，但是有时候会：
她：“你可以听到了吗？”
我：“可以了，你呢？”
她：“喂喂，你可以听到了吗？”
我：“可以了，我可以听到了，你呢？...]]></description><category></category></item><item><title><![CDATA[网络请求：从浏览器输入URL之后HTTP请求到返回结果的完整过程]]></title><link>https://blog.youkuaiyun.com/laurel_y/article/details/103994358</link><guid>https://blog.youkuaiyun.com/laurel_y/article/details/103994358</guid><author>laurel_y</author><pubDate>Wed, 15 Jan 2020 18:49:31 +0800</pubDate><description><![CDATA[从浏览器输入URL之后HTTP请求到返回结果的完整过程
1.如下图:

2.过程解析:
(1).浏览器输入URL 跳转 之后 浏览器 会先判断 这个 链接(URL)是否 需要 重定向（Redirect），需要就会跳转到 重定向页面,不需要的话就进入下一步。
(2).判断是否需要重定向之后 浏览器会判断 这个 访问的 链接 是否 有缓存(之前访问过)。有缓存 直接 从 缓存 取数据，没有缓存则 进入...]]></description><category></category></item><item><title><![CDATA[LeetCode_24：K-diff Pairs in an Array]]></title><link>https://blog.youkuaiyun.com/laurel_y/article/details/103504786</link><guid>https://blog.youkuaiyun.com/laurel_y/article/details/103504786</guid><author>laurel_y</author><pubDate>Thu, 12 Dec 2019 19:49:54 +0800</pubDate><description><![CDATA[这两天看redux，脑子有点绕，于是回来接着刷算法换换脑子…
1、总结



2、题目
Given an array of integers and an integer k, you need to find the number of unique k-diff pairs in the array. Here a k-diff pair is defined as an integer pa...]]></description><category></category></item><item><title><![CDATA[LeetCode_23：Fibonacci Number]]></title><link>https://blog.youkuaiyun.com/laurel_y/article/details/103292286</link><guid>https://blog.youkuaiyun.com/laurel_y/article/details/103292286</guid><author>laurel_y</author><pubDate>Thu, 28 Nov 2019 18:42:56 +0800</pubDate><description><![CDATA[1、总结
2、题目
The Fibonacci numbers, commonly denoted F(n) form a sequence, called the Fibonacci sequence, such that each number is the sum of the two preceding ones, starting from 0 and 1. That is,
	F(0)...]]></description><category></category></item><item><title><![CDATA[LeetCode_22：Max Consecutive Ones]]></title><link>https://blog.youkuaiyun.com/laurel_y/article/details/103206028</link><guid>https://blog.youkuaiyun.com/laurel_y/article/details/103206028</guid><author>laurel_y</author><pubDate>Thu, 28 Nov 2019 11:17:15 +0800</pubDate><description><![CDATA[1、总结
2、题目
Given a binary array, find the maximum number of consecutive 1s in this array.
Example 1:
	Input: [1,1,0,1,1,1]
	Output: 3
	Explanation: 
		The first two digits or the last three digits are ...]]></description><category></category></item><item><title><![CDATA[LeetCode_21：Find All Numbers Disappeared in an Array]]></title><link>https://blog.youkuaiyun.com/laurel_y/article/details/103149396</link><guid>https://blog.youkuaiyun.com/laurel_y/article/details/103149396</guid><author>laurel_y</author><pubDate>Wed, 20 Nov 2019 18:32:22 +0800</pubDate><description><![CDATA[1、总结

当元素需要标记，又不想创建额外变量的时候，取反是一种方法；元素交换/移动也是一种方法；
方法四，通过累加n标记元素，在原来的逻辑上绕了一点，这种操作需要消化一下；

2、题目
Given an array of integers where 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and others a...]]></description><category></category></item><item><title><![CDATA[LeetCode_20：Third Maximum Number]]></title><link>https://blog.youkuaiyun.com/laurel_y/article/details/103010403</link><guid>https://blog.youkuaiyun.com/laurel_y/article/details/103010403</guid><author>laurel_y</author><pubDate>Tue, 19 Nov 2019 18:01:56 +0800</pubDate><description><![CDATA[1、总结



2、题目
Given a non-empty array of integers, return the third maximum number in this array. If it does not exist, return the maximum number. The time complexity must be in O(n).
Example 1:
	Input...]]></description><category></category></item><item><title><![CDATA[JavaScript：关于引用类型重新赋值和修改属性的差异]]></title><link>https://blog.youkuaiyun.com/laurel_y/article/details/103089183</link><guid>https://blog.youkuaiyun.com/laurel_y/article/details/103089183</guid><author>laurel_y</author><pubDate>Fri, 15 Nov 2019 18:09:21 +0800</pubDate><description><![CDATA[前言
前段时间写代码的时候，混淆了引用类型重新赋值 和 修改属性，因此这里转载一篇博文标记一下。
如何理解JavaScript中给变量赋值，是引用还是复制

    一、JavaScript中值的类型
JavaScript中的值分为2大类：基本类型和引用类型。每种类型下面又分为5种类型。
基本类型：
&nbsp; &nbsp; &nbsp;数字类型：Number；字符串类型：String；布尔类型...]]></description><category></category></item><item><title><![CDATA[Vue：详解vue的diff算法]]></title><link>https://blog.youkuaiyun.com/laurel_y/article/details/103031636</link><guid>https://blog.youkuaiyun.com/laurel_y/article/details/103031636</guid><author>laurel_y</author><pubDate>Tue, 12 Nov 2019 16:40:06 +0800</pubDate><description><![CDATA[转载一篇关于diff算法的文章，文章原地址在这里
之所以对这个感兴趣是由于前段时间做echarts的resize时发现，屏幕缓慢缩放有效，但是一键全屏类似的快速操作下resize会失效，最后虽然在大佬的指点下，用js"续命"的操作实现，但还是对diff算法及js"续命"操作不了解，转载一篇文章共习之。

一、前言
我的目标是写一个非常详细的关于diff的干货，所以本文有点长。也会用到大量的图片以及...]]></description><category></category></item></channel></rss>