<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[雲的博客]]></title><description><![CDATA[一夕一绽一缕芳，一生一叹一痕沙]]></description><link>https://blog.youkuaiyun.com/qq_37205708</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_37205708]]></copyright><item><title><![CDATA[JavaScript 学习之旅（五）数组、字符串、Map、Set 方法整理]]></title><link>https://blog.youkuaiyun.com/qq_37205708/article/details/103086819</link><guid>https://blog.youkuaiyun.com/qq_37205708/article/details/103086819</guid><author>qq_37205708</author><pubDate>Fri, 15 Nov 2019 15:51:53 +0800</pubDate><description><![CDATA[文章目录数组ES6新增字符串ES6 新增MapSet
数组

isArray()：Array.isArray(value) 用于检测变量是否为数组类型
toString()：把数组转换为字符串，并返回结果，每一项以逗号分隔
push() &amp; pop()：push() 方法用于数组末尾添加项，pop() 方法弹出数组末尾项并返回该项
shift() &amp; unshift()：移除数组中...]]></description><category></category></item><item><title><![CDATA[JavaScript 学习之旅（四）原型与继承]]></title><link>https://blog.youkuaiyun.com/qq_37205708/article/details/103086696</link><guid>https://blog.youkuaiyun.com/qq_37205708/article/details/103086696</guid><author>qq_37205708</author><pubDate>Fri, 15 Nov 2019 15:45:25 +0800</pubDate><description><![CDATA[文章目录原型与继承原型与原型链Object() 与 Function()继承借用构造函数原型链实现继承组合继承方式（上面两种方法的配合）组合继承方式优化ES6 实现继承
原型与继承
原型与原型链


prototype: 每个函数都有一个 prototype（原型）属性，这个属性是一个指针，指向一个对象，而这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法，如果使用这个函数生成了实例，那...]]></description><category></category></item><item><title><![CDATA[JavaScript 学习之旅（三）this]]></title><link>https://blog.youkuaiyun.com/qq_37205708/article/details/103086646</link><guid>https://blog.youkuaiyun.com/qq_37205708/article/details/103086646</guid><author>qq_37205708</author><pubDate>Fri, 15 Nov 2019 15:43:01 +0800</pubDate><description><![CDATA[文章目录this 的作用域this 到底是什么调用位置绑定规则默认绑定隐式绑定显式绑定new 绑定判断 this其他注意事项被忽略的 this箭头函数闭包中的 this
参考资料：《你不知道的 JavaScript 上卷》
this 是一个很特别的关键字，被自动定义在所有函数的作用域中。
this 的作用域
一种常见的误解是，this 指向函数的作用域。这个说法在某种情况下是正确的，但是在其他情况...]]></description><category></category></item><item><title><![CDATA[JavaScript 学习之旅（二）作用域、作用域链、闭包]]></title><link>https://blog.youkuaiyun.com/qq_37205708/article/details/103086332</link><guid>https://blog.youkuaiyun.com/qq_37205708/article/details/103086332</guid><author>qq_37205708</author><pubDate>Fri, 15 Nov 2019 15:37:53 +0800</pubDate><description><![CDATA[文章目录序言作用域、作用域链、闭包作用域和作用域链词法作用域、函数作用域、块作用域闭包闭包中的 this闭包的用途例题
序言
本系列是学习前端一段时间后的整理，文中非原创内容大部分会注明出处。
作用域、作用域链、闭包
作用域和作用域链
作用域和作用域链，简单来说只要记住以下几个点：

作用域最大的用处是隔离变量，不同作用域下同名变量不会冲突。
作用域是分层的，内层作用域可以访问外层作用域的变量，反...]]></description><category></category></item><item><title><![CDATA[JavaScript 学习之旅（一）基础概念]]></title><link>https://blog.youkuaiyun.com/qq_37205708/article/details/103086120</link><guid>https://blog.youkuaiyun.com/qq_37205708/article/details/103086120</guid><author>qq_37205708</author><pubDate>Fri, 15 Nov 2019 15:28:48 +0800</pubDate><description><![CDATA[文章目录序言基本概念if 条件判断时的注意事项逻辑非四则运算注意事项toString() 方法的使用变量、函数提升instanceofObject 对象
序言
本系列是学习前端一段时间后的整理，文中非原创内容大部分会注明出处。
基本概念
7 种数据类型: Null、Undefined、Number、Boolean、String、Object、Symbol
排除 Symbol 的话，《JavaScr...]]></description><category></category></item><item><title><![CDATA[字节跳动、拼多多前端面经]]></title><link>https://blog.youkuaiyun.com/qq_37205708/article/details/100530261</link><guid>https://blog.youkuaiyun.com/qq_37205708/article/details/100530261</guid><author>qq_37205708</author><pubDate>Tue, 03 Sep 2019 23:40:43 +0800</pubDate><description><![CDATA[字节跳动
一面
1.说出以下代码的原型关系，以及 Object 和 Function 的原型关系
Function;
function test() {
}
 
var obj = new test();
 
__proto__    prototype

2.合并两个已排序的链表：递归解法、迭代解法
3.判断数组类型有哪些方法
4.webpack 常用 loader、plugin
5.Promi...]]></description><category></category></item><item><title><![CDATA[前端项目优化 -Web 开发常用优化方案、Vue & React 项目优化]]></title><link>https://blog.youkuaiyun.com/qq_37205708/article/details/99652568</link><guid>https://blog.youkuaiyun.com/qq_37205708/article/details/99652568</guid><author>qq_37205708</author><pubDate>Thu, 15 Aug 2019 19:42:26 +0800</pubDate><description><![CDATA[前端项目优化 -Web 开发常用优化方案、Vue & React 项目优化]]></description><category></category></item><item><title><![CDATA[记几个 DOM 操作技巧]]></title><link>https://blog.youkuaiyun.com/qq_37205708/article/details/133101168</link><guid>https://blog.youkuaiyun.com/qq_37205708/article/details/133101168</guid><author>qq_37205708</author><pubDate>Tue, 13 Aug 2019 18:08:00 +0800</pubDate><description><![CDATA[使用 attributes 属性遍历元素特性
// 迭代元素的每一个特性，将它们构造成 name = value 的字符串形式
function outputAttributes (element) {
  const pairs = []
  let attrName
  let attrValue

  for (let i = 0, len = element.attributes.len...]]></description><category></category></item><item><title><![CDATA[JavaScript 面试题]]></title><link>https://blog.youkuaiyun.com/qq_37205708/article/details/133061724</link><guid>https://blog.youkuaiyun.com/qq_37205708/article/details/133061724</guid><author>qq_37205708</author><pubDate>Tue, 13 Aug 2019 18:04:00 +0800</pubDate><description><![CDATA[深拷贝
JSON.parse(JSON.stringnify(object)) 的不足：

会忽略 undefined
会忽略 symbol
不能序列化函数
不能解决循环引用的对象

自己实现一个深拷贝
function deepCopy(obj) {
  let newObj
  if (typeof obj === 'object') { // 数组或对象 typeof 会返回'object...]]></description><category></category></item><item><title><![CDATA[浏览器事件循环机制]]></title><link>https://blog.youkuaiyun.com/qq_37205708/article/details/133061721</link><guid>https://blog.youkuaiyun.com/qq_37205708/article/details/133061721</guid><author>qq_37205708</author><pubDate>Tue, 13 Aug 2019 17:58:00 +0800</pubDate><description><![CDATA[原文地址
github 获取更多前端资源
https://github.com/ChenMingK/WebKnowledges-Notes
灵魂三问
JavaScript 为什么是单线程的？JavaScript 为什么需要异步？JavaScript 单线程又是如何实现异步的？
1.JavaScript 为什么是单线程的?
现在有 2 个线程 process1 process2，假设 JavaSc...]]></description><category></category></item><item><title><![CDATA[JavaScript 数组、字符串、Map、Set 方法整理]]></title><link>https://blog.youkuaiyun.com/qq_37205708/article/details/133061723</link><guid>https://blog.youkuaiyun.com/qq_37205708/article/details/133061723</guid><author>qq_37205708</author><pubDate>Tue, 13 Aug 2019 17:51:00 +0800</pubDate><description><![CDATA[在线阅读
https://www.kancloud.cn/chenmk/web-knowledges/1080519
数组

isArray()：Array.isArray(value) 用于检测变量是否为数组类型
toString()：把数组转换为字符串，并返回结果，每一项以逗号分隔
push() &amp; pop()：push() 方法用于数组末尾添加项，pop() 方法弹出数组末尾项并返...]]></description><category></category></item><item><title><![CDATA[浅谈前端模块化规范]]></title><link>https://blog.youkuaiyun.com/qq_37205708/article/details/99444404</link><guid>https://blog.youkuaiyun.com/qq_37205708/article/details/99444404</guid><author>qq_37205708</author><pubDate>Tue, 13 Aug 2019 16:17:28 +0800</pubDate><description><![CDATA[前端模块化规范发展历程一览，及其主要区别的分析]]></description><category></category></item><item><title><![CDATA[React 练习项目，仿简书博客写作平台]]></title><link>https://blog.youkuaiyun.com/qq_37205708/article/details/99334684</link><guid>https://blog.youkuaiyun.com/qq_37205708/article/details/99334684</guid><author>qq_37205708</author><pubDate>Mon, 12 Aug 2019 20:39:25 +0800</pubDate><description><![CDATA[Introduction
技术栈：react + redux + react-router + express + Nginx
练习点：

redux 连接
react-router 路由跳转
scss 样式书写
容器组件与展示组件的设计
express 脚手架项目结构设计
用户信息持久化（cookie + redis）
常见安全问题处理（xss sql 注入 cookie 跨域）
Promise...]]></description><category></category></item><item><title><![CDATA[两张图解释原型与原型链]]></title><link>https://blog.youkuaiyun.com/qq_37205708/article/details/99293538</link><guid>https://blog.youkuaiyun.com/qq_37205708/article/details/99293538</guid><author>qq_37205708</author><pubDate>Mon, 12 Aug 2019 11:51:26 +0800</pubDate><description><![CDATA[上面这张图出自冴羽的博客，这张图已经能很好地解释原型与原型链了，其涉及到的属性如下：

prototype: 每个函数都有一个 prototype（原型）属性，这个属性是一个指针，指向一个对象，而这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法，如果使用这个函数生成了实例，那么称这个对象为所有实例的原型。
__proto__： 每个对象都拥有__proto__属性，该属性用于实现原型...]]></description><category></category></item><item><title><![CDATA[这些 JavaScript DOM 操作技巧你都知道吗？]]></title><link>https://blog.youkuaiyun.com/qq_37205708/article/details/98188436</link><guid>https://blog.youkuaiyun.com/qq_37205708/article/details/98188436</guid><author>qq_37205708</author><pubDate>Fri, 02 Aug 2019 12:14:30 +0800</pubDate><description><![CDATA[这些 JavaScript DOM 操作技巧你都知道吗？]]></description><category></category></item><item><title><![CDATA[浏览器事件循环介绍]]></title><link>https://blog.youkuaiyun.com/qq_37205708/article/details/98188222</link><guid>https://blog.youkuaiyun.com/qq_37205708/article/details/98188222</guid><author>qq_37205708</author><pubDate>Fri, 02 Aug 2019 12:12:52 +0800</pubDate><description><![CDATA[浏览器事件循环机制 图 + 例题 带你秒懂]]></description><category></category></item><item><title><![CDATA[浅谈 JavaScript 垃圾回收机制]]></title><link>https://blog.youkuaiyun.com/qq_37205708/article/details/98187869</link><guid>https://blog.youkuaiyun.com/qq_37205708/article/details/98187869</guid><author>qq_37205708</author><pubDate>Fri, 02 Aug 2019 12:09:24 +0800</pubDate><description><![CDATA[JavaScript 垃圾回收机制]]></description><category></category></item><item><title><![CDATA[JavaScript 数据结构 之 树]]></title><link>https://blog.youkuaiyun.com/qq_37205708/article/details/98187449</link><guid>https://blog.youkuaiyun.com/qq_37205708/article/details/98187449</guid><author>qq_37205708</author><pubDate>Fri, 02 Aug 2019 12:05:10 +0800</pubDate><description><![CDATA[JavaScript 数据结构 之 树]]></description><category></category></item><item><title><![CDATA[React 的一些书写规范]]></title><link>https://blog.youkuaiyun.com/qq_37205708/article/details/98186045</link><guid>https://blog.youkuaiyun.com/qq_37205708/article/details/98186045</guid><author>qq_37205708</author><pubDate>Fri, 02 Aug 2019 11:53:41 +0800</pubDate><description><![CDATA[React 的一些书写规范]]></description><category></category></item><item><title><![CDATA[Vue 快速上手 - 组件、插槽、生命周期]]></title><link>https://blog.youkuaiyun.com/qq_37205708/article/details/98185297</link><guid>https://blog.youkuaiyun.com/qq_37205708/article/details/98185297</guid><author>qq_37205708</author><pubDate>Fri, 02 Aug 2019 11:49:10 +0800</pubDate><description><![CDATA[Vue 快速上手 - 组件、插槽、生命周期]]></description><category></category></item></channel></rss>