<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_41534913的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_41534913</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_41534913]]></copyright><item><title><![CDATA[微前端——single-spa源码学习]]></title><link>https://blog.youkuaiyun.com/qq_41534913/article/details/127963038</link><guid>https://blog.youkuaiyun.com/qq_41534913/article/details/127963038</guid><author>qq_41534913</author><pubDate>Mon, 21 Nov 2022 14:41:54 +0800</pubDate><description><![CDATA[本来是想直接去学习下qiankun的源码，但是qiankun是基于single-spa做的二次封装，通过解决了single-spa的一些弊端和不足来帮助大家能更简单、无痛的构建一个生产可用微前端架构系统。所以我们应该先对single-spa有一个全面的认识和了解，了解它的不足和缺陷，到时候让我们带着问题去学习qiankun的底层，会有更大的帮助。single-spa中文文档代码库地址，可以打开代码再对照着阅读，更容易理解。]]></description><category></category></item><item><title><![CDATA[梳理promise功能逻辑，手写promise及相关方法]]></title><link>https://blog.youkuaiyun.com/qq_41534913/article/details/127810936</link><guid>https://blog.youkuaiyun.com/qq_41534913/article/details/127810936</guid><author>qq_41534913</author><pubDate>Sat, 12 Nov 2022 18:01:43 +0800</pubDate><description><![CDATA[【代码】梳理promise功能逻辑，手写promise及相关方法。]]></description><category></category></item><item><title><![CDATA[前端面试题记录（大环境不太友好的2022篇）]]></title><link>https://blog.youkuaiyun.com/qq_41534913/article/details/127802036</link><guid>https://blog.youkuaiyun.com/qq_41534913/article/details/127802036</guid><author>qq_41534913</author><pubDate>Fri, 11 Nov 2022 13:37:42 +0800</pubDate><description><![CDATA[不出去体会一下就想不到所谓的别人口中的 “大环境不太好” 的具体情况]]></description><category></category></item><item><title><![CDATA[js金额格式化，千分符，（好家伙！面试直接被问四次）]]></title><link>https://blog.youkuaiyun.com/qq_41534913/article/details/127793893</link><guid>https://blog.youkuaiyun.com/qq_41534913/article/details/127793893</guid><author>qq_41534913</author><pubDate>Thu, 10 Nov 2022 18:46:12 +0800</pubDate><description><![CDATA[九十月份，在我的的面试经历中，金额格式化算事比较高频的了，都是出现在初次视频面试的过程中。]]></description><category></category></item><item><title><![CDATA[antdpro使用AbortController取消请求]]></title><link>https://blog.youkuaiyun.com/qq_41534913/article/details/127774754</link><guid>https://blog.youkuaiyun.com/qq_41534913/article/details/127774754</guid><author>qq_41534913</author><pubDate>Wed, 09 Nov 2022 18:03:57 +0800</pubDate><description><![CDATA[AbortController取消请求]]></description><category></category></item><item><title><![CDATA[qiankun使用Actions实现通信]]></title><link>https://blog.youkuaiyun.com/qq_41534913/article/details/127446923</link><guid>https://blog.youkuaiyun.com/qq_41534913/article/details/127446923</guid><author>qq_41534913</author><pubDate>Fri, 21 Oct 2022 15:30:56 +0800</pubDate><description><![CDATA[qiankun使用actions实现通信]]></description><category></category></item><item><title><![CDATA[Antd Pro项目接入qiankun微前端]]></title><link>https://blog.youkuaiyun.com/qq_41534913/article/details/127446010</link><guid>https://blog.youkuaiyun.com/qq_41534913/article/details/127446010</guid><author>qq_41534913</author><pubDate>Fri, 21 Oct 2022 15:04:58 +0800</pubDate><description><![CDATA[ntd pro项目中接入qiankun微前端，抽离其中某个模块作为子应用，实现独立部署]]></description><category></category></item><item><title><![CDATA[关于let变量提升的思考]]></title><link>https://blog.youkuaiyun.com/qq_41534913/article/details/119727381</link><guid>https://blog.youkuaiyun.com/qq_41534913/article/details/119727381</guid><author>qq_41534913</author><pubDate>Mon, 16 Aug 2021 10:34:18 +0800</pubDate><description><![CDATA[原文地址

]]></description><category></category></item><item><title><![CDATA[TS+React+d3.js实现数据可视化力导图]]></title><link>https://blog.youkuaiyun.com/qq_41534913/article/details/117818184</link><guid>https://blog.youkuaiyun.com/qq_41534913/article/details/117818184</guid><author>qq_41534913</author><pubDate>Fri, 11 Jun 2021 17:30:00 +0800</pubDate><description><![CDATA[前言
基于ts+react+d3实现数据可视化关系力导图
由于第一次做相关功能，并且是在ts中使用，也是遇到了许多坑，下面记录一下实现的过程

实现过程
由于我是做完之后才写的博客，所以整个过程中有些步骤没有截图信息只能文字描述了
一、找d3.js的官网资料
目的很明确直接找网站的例子，锁定：

到这里，像我这种喜欢直来直去的，不得第一时间立马搬到项目里面，殊不知接下来几天的折磨也就由此而来，我先贴一下官网这个例子的原代码(网站可以直接看到的)：
chart = {
  const links = data]]></description><category></category></item><item><title><![CDATA[不会封装函数？深拷贝不会写？来读读vuex源码里面的工具函数并完善吧]]></title><link>https://blog.youkuaiyun.com/qq_41534913/article/details/115762044</link><guid>https://blog.youkuaiyun.com/qq_41534913/article/details/115762044</guid><author>qq_41534913</author><pubDate>Fri, 23 Apr 2021 17:09:41 +0800</pubDate><description><![CDATA[草稿

]]></description><category></category></item><item><title><![CDATA[换工作好长时间了，总结下面试的东西]]></title><link>https://blog.youkuaiyun.com/qq_41534913/article/details/115762807</link><guid>https://blog.youkuaiyun.com/qq_41534913/article/details/115762807</guid><author>qq_41534913</author><pubDate>Tue, 20 Apr 2021 19:52:39 +0800</pubDate><description><![CDATA[2021总结篇

图中的蓝框选中的代表代码输出常碰到的
红色的则是代码手撕的


说实话可能知识点大家都知道怎么回事，但是碰到代码输出和手撕代码时，可能一个考虑不周就满盘皆输，还是长点心吧。（我可能只是在说我自己）



注意：

异步编程、事件循环、promise、async/await、generator/yield这些东西很容易结合在一起揉搓你，包括但不限于代码手撕，分析输出，（比如代码实现Promise，]]></description><category></category></item><item><title><![CDATA[自检——Es5继承]]></title><link>https://blog.youkuaiyun.com/qq_41534913/article/details/113620631</link><guid>https://blog.youkuaiyun.com/qq_41534913/article/details/113620631</guid><author>qq_41534913</author><pubDate>Wed, 03 Feb 2021 22:20:26 +0800</pubDate><description><![CDATA[js继承是一种允许我们在已有类的基础上创建新类的机制，为子类提供了更高的灵活性，可以重用父类的方法和属性。
1、原型链继承
// 提供父类（继承谁，提供继承的属性）
function Person(name) {
  this.name = name || 'sun'
  this.work = function(){
    console.log(`${name}正在加班`)
  }
  this.works = ['文档', '代码']
}
Person.prototype.end = functio]]></description><category></category></item><item><title><![CDATA[自检——js执行机制]]></title><link>https://blog.youkuaiyun.com/qq_41534913/article/details/106501693</link><guid>https://blog.youkuaiyun.com/qq_41534913/article/details/106501693</guid><author>qq_41534913</author><pubDate>Fri, 29 Jan 2021 17:59:10 +0800</pubDate><description><![CDATA[理解JavaScript继承之前

]]></description><category></category></item><item><title><![CDATA[instanceof的底层实现原理，手动实现一个instanceof]]></title><link>https://blog.youkuaiyun.com/qq_41534913/article/details/106359367</link><guid>https://blog.youkuaiyun.com/qq_41534913/article/details/106359367</guid><author>qq_41534913</author><pubDate>Tue, 26 May 2020 17:37:13 +0800</pubDate><description><![CDATA[instanceof
instanceof运算符用来判断一个构造函数的prototype属性所指向的对象是否存在另外一个要检测对象的原型链上

obj instabceof Object

描述： 检测Object.prototype是否在obj的原型链上
  // 基础用法
  // 我们先通过构造函数来创建一个对象
  function Person() {
    this.name = 'XXXX'
  }
  let p = new Person()
  console.log(p.name)  ]]></description><category></category></item><item><title><![CDATA[js的this原理]]></title><link>https://blog.youkuaiyun.com/qq_41534913/article/details/106092143</link><guid>https://blog.youkuaiyun.com/qq_41534913/article/details/106092143</guid><author>qq_41534913</author><pubDate>Wed, 13 May 2020 10:18:02 +0800</pubDate><description><![CDATA[原文链接：http://www.ruanyifeng.com/blog/2018/06/javascript-this.html

]]></description><category></category></item><item><title><![CDATA[ES8新特性]]></title><link>https://blog.youkuaiyun.com/qq_41534913/article/details/106048526</link><guid>https://blog.youkuaiyun.com/qq_41534913/article/details/106048526</guid><author>qq_41534913</author><pubDate>Mon, 11 May 2020 10:40:24 +0800</pubDate><description><![CDATA[1、异步函数 （async function）
A）async关键字位置
• 异步函数声明： async function foo() {}
• 异步函数表达式： const foo = async
• 异步函数定义： let obj= { async foo() {} }
• 异步箭头函数：const foo = async () =&gt; {}
B）异步函数总是返回Promise对象
async function test(){
  return '返回prominse对象';
}

test()
.]]></description><category></category></item><item><title><![CDATA[对js数组方法使用代码类似实现——持续补充]]></title><link>https://blog.youkuaiyun.com/qq_41534913/article/details/105662702</link><guid>https://blog.youkuaiyun.com/qq_41534913/article/details/105662702</guid><author>qq_41534913</author><pubDate>Wed, 22 Apr 2020 17:20:21 +0800</pubDate><description><![CDATA[记录数组方法的同时，自己也想研究下用代码来类似实现数组的各种方法
数组方案使用请点击这里
源码地址：
https://github.com/v8/v8/blob/4.9-lkgr/src/js/array.js

...]]></description><category></category></item><item><title><![CDATA[javaScript数组方法记录——持续补充]]></title><link>https://blog.youkuaiyun.com/qq_41534913/article/details/89570262</link><guid>https://blog.youkuaiyun.com/qq_41534913/article/details/89570262</guid><author>qq_41534913</author><pubDate>Tue, 31 Mar 2020 11:21:58 +0800</pubDate><description><![CDATA[数组方法记录


...]]></description><category></category></item><item><title><![CDATA[window10安装docker]]></title><link>https://blog.youkuaiyun.com/qq_41534913/article/details/104966521</link><guid>https://blog.youkuaiyun.com/qq_41534913/article/details/104966521</guid><author>qq_41534913</author><pubDate>Thu, 26 Mar 2020 11:34:45 +0800</pubDate><description><![CDATA[window10安装docker首先确认自己的系统是不是专业版，如果不是，必须升级到专业版

第一步
控制面板-&gt;程序-&gt;启用或关闭windows功能，勾选Hyper-V，然后点击确定即可

...]]></description><category></category></item><item><title><![CDATA[前端知识自检——js原型规则及设计模式]]></title><link>https://blog.youkuaiyun.com/qq_41534913/article/details/103601578</link><guid>https://blog.youkuaiyun.com/qq_41534913/article/details/103601578</guid><author>qq_41534913</author><pubDate>Mon, 23 Mar 2020 10:03:33 +0800</pubDate><description><![CDATA[在js中万物皆对象
原型及原型链基本概念

Javascript 规定，每一个函数都有一个 prototype 属性，指向另一个对象。 这个对象的所有属性和方法，都会被构造函数的实例继承。

这也就意味着，我们可以把所有对象实例需要共享的属性和方法直接定义在 prototype 对象上。
// 构造函数
function Person (name, age) {
  this.name = nam...]]></description><category></category></item></channel></rss>