<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Sylvia的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ciel_2</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ciel_2]]></copyright><item><title><![CDATA[求阶乘]]></title><link>https://blog.youkuaiyun.com/ciel_2/article/details/115300936</link><guid>https://blog.youkuaiyun.com/ciel_2/article/details/115300936</guid><author>ciel_2</author><pubDate>Mon, 29 Mar 2021 14:42:05 +0800</pubDate><description><![CDATA[function factorial(n) {
      let product = 1;
      while(n &gt; 1) {
        product *= n;
        n--;
      }
      return product;
    }

    console.log('res-------', factorial(4)); // =&gt; 24


]]></description><category></category></item><item><title><![CDATA[opacity数值设置为百分比，打包后数值变为1%]]></title><link>https://blog.youkuaiyun.com/ciel_2/article/details/115293497</link><guid>https://blog.youkuaiyun.com/ciel_2/article/details/115293497</guid><author>ciel_2</author><pubDate>Mon, 29 Mar 2021 09:29:24 +0800</pubDate><description><![CDATA[问题：
在设置CSS样式时，把元素opacity的数值设置为百分比，比如65%，在打包发布到环境上之后，发现元素消失了。
查看style，发现其实是元素还存在，只是opacity数值变为1%，所以看起来好像消失了一样，且不管怎么修改设置都一直是1%
解决方案：
实际opacity的取值范围是0~1，所以应该设置为0.65；改为0.65后，发布到环境上，元素可见且opacity取值为0.65，问题解决

...]]></description><category></category></item><item><title><![CDATA[gerrit使用笔记]]></title><link>https://blog.youkuaiyun.com/ciel_2/article/details/114184170</link><guid>https://blog.youkuaiyun.com/ciel_2/article/details/114184170</guid><author>ciel_2</author><pubDate>Sat, 27 Feb 2021 20:55:26 +0800</pubDate><description><![CDATA[gerrit是在git基础上，引进的强制性的代码审查机制，即所有的代码，都必须通过代码审核的流程之后， 才能进入到真正的Git版本库，从而实现对代码质量的把控。
git push origin HEAD:refs/for/master

代码被打回后的处理方式


代码被审查者abandon


开发者在本地，直接回退到上一个版本
git reset &lt;上一个版本号&gt;

然后再执行git add --&gt; git commit --&gt; git push操作



...]]></description><category></category></item><item><title><![CDATA[Chrome DevTools 使用总结]]></title><link>https://blog.youkuaiyun.com/ciel_2/article/details/113824180</link><guid>https://blog.youkuaiyun.com/ciel_2/article/details/113824180</guid><author>ciel_2</author><pubDate>Tue, 16 Feb 2021 14:36:02 +0800</pubDate><description><![CDATA[Chrome DevTools 功能简介

Elements元素面板
检查和调整页面，调试DOM，调试CSS
Network网络面板
调试请求，了解页面静态资源分布，网页性能检测
Console控制台面板
调试JavaScript，查看console log 日志，交互式代码调试
Sources源代码资源面板
调试JavaScript页面源代码，进行断电调试代码
Application应用面板
查看&amp;调试客户端存储，如cookie、LocalStorage、SessionStorage
Perfor]]></description><category></category></item><item><title><![CDATA[关于git使用总结]]></title><link>https://blog.youkuaiyun.com/ciel_2/article/details/113605333</link><guid>https://blog.youkuaiyun.com/ciel_2/article/details/113605333</guid><author>ciel_2</author><pubDate>Mon, 08 Feb 2021 13:58:26 +0800</pubDate><description><![CDATA[本地安装git

安装
配置姓名和邮件地址(仅需配置一次即可)

git config --global user.name "Your Name"
git config --global user.email you@example.com

版本控制——git管理文件夹

进入要管理的文件夹

cd git_demo


初始化，即：让git帮助我们管理当前文件夹

git init


管理


检测当前文件夹下的文件状态

红色文件名，代表已有修改，但尚未暂存(即git add &lt;文件名&gt]]></description><category></category></item><item><title><![CDATA[关于es6新特性的总结]]></title><link>https://blog.youkuaiyun.com/ciel_2/article/details/113195335</link><guid>https://blog.youkuaiyun.com/ciel_2/article/details/113195335</guid><author>ciel_2</author><pubDate>Sun, 31 Jan 2021 21:53:16 +0800</pubDate><description><![CDATA[1.let &amp; const
1) let，作用与var类似，用于声明变量
特性：

let 不能重复声明变量，var 可以重复声明变量；
块级作用域，es5中存在全局作用域、函数作用域、eval作用域；es6中引入了块级作用域，let声明的变量在块级作用域{}内有效
let声明的变量不存在var的变量提升问题

举个例子：
&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt]]></description><category></category></item><item><title><![CDATA[关于webpack的理解]]></title><link>https://blog.youkuaiyun.com/ciel_2/article/details/113194393</link><guid>https://blog.youkuaiyun.com/ciel_2/article/details/113194393</guid><author>ciel_2</author><pubDate>Tue, 26 Jan 2021 20:55:25 +0800</pubDate><description><![CDATA[webpack是一个JavaScript应用程序的静态模块化打包器，意味着webpack在不进行特殊配置的情况下就只认识JavaScript一种语言，只能处理JavaScript这一种语言
1)原理&amp;作用
0) 理解前端模块化
⇒ 为了避免变量冲突和覆盖，不同js文件间可以使用命名空间，譬如在susan.js中
var susan  = {
	name: 'susan',
	tell: function(){
		console.log('我的名字：', name)
	}
}

在liming.js]]></description><category></category></item><item><title><![CDATA[关于npm的理解]]></title><link>https://blog.youkuaiyun.com/ciel_2/article/details/113060165</link><guid>https://blog.youkuaiyun.com/ciel_2/article/details/113060165</guid><author>ciel_2</author><pubDate>Sat, 23 Jan 2021 22:18:43 +0800</pubDate><description><![CDATA[1.npm仓库与依赖的概念
npm是一个包管理器，通过站点上的仓库，实现上传、分发、下载包的功能

由于站点在国外，我们可以设置连接npm的国内淘宝镜像站点

npm config set registry https://registry.npm.taobao.org



npm install loadash --save /  npm install loadash -s
--save是为了将下载下来的包记录在package.json中的dependencies字段中，后续项目迁移后，只需要运行np]]></description><category></category></item><item><title><![CDATA[Mac 安装 brew]]></title><link>https://blog.youkuaiyun.com/ciel_2/article/details/112845371</link><guid>https://blog.youkuaiyun.com/ciel_2/article/details/112845371</guid><author>ciel_2</author><pubDate>Tue, 19 Jan 2021 16:05:48 +0800</pubDate><description><![CDATA[Mac 安装 brew

]]></description><category></category></item><item><title><![CDATA[2020-vue：vue组件间通信]]></title><link>https://blog.youkuaiyun.com/ciel_2/article/details/112429619</link><guid>https://blog.youkuaiyun.com/ciel_2/article/details/112429619</guid><author>ciel_2</author><pubDate>Mon, 11 Jan 2021 17:21:26 +0800</pubDate><description><![CDATA[文章目录1.父子组件通信1) 父子组件通过props传递参数父组件子组件另，props可以有以下3种写法2.子父组件通信1) 子父组件通过$emit方法传递参数父组件子组件2) 父子组件通过引用类型传参父组件子组件3.兄弟组件间通信1) 通过父组件作为中间件来通讯父组件子组件1子组件22)通过EventBus进行兄弟间组件通讯main.js子组件1子组件2父组件
1.父子组件通信
1) 父子组件通过props传递参数
父组件
&lt;template&gt;
    &lt;div&gt;
        ]]></description><category></category></item><item><title><![CDATA[2020-vue面试题]]></title><link>https://blog.youkuaiyun.com/ciel_2/article/details/112382782</link><guid>https://blog.youkuaiyun.com/ciel_2/article/details/112382782</guid><author>ciel_2</author><pubDate>Sat, 09 Jan 2021 16:58:43 +0800</pubDate><description><![CDATA[文章目录1.vue双向绑定的原理2.解释单向数据流和双向数据绑定3.如何去除url中的“#”(history模式和hash模式的区别)4.对MVC、MVVM的理解5.介绍虚拟DOM树6.vue生命周期（4个阶段，8个钩子函数）7.组件间通信1）父子通信2）子父通信3）兄弟间通信8.vue-router路由实现9.v-if 和 v-show 的区别10.$route 和 $router 的区别11.vue组件data为什么必须是函数12.计算属性computed和事件methods有什么区别13.jQuery]]></description><category></category></item><item><title><![CDATA[利用webworker实现前端的多线程编程]]></title><link>https://blog.youkuaiyun.com/ciel_2/article/details/112342117</link><guid>https://blog.youkuaiyun.com/ciel_2/article/details/112342117</guid><author>ciel_2</author><pubDate>Thu, 07 Jan 2021 23:16:15 +0800</pubDate><description><![CDATA[&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
  &lt;meta charset="UTF-8"&gt;
  &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
  &lt;title&gt;Document&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;!-- 主线程 --&gt;
  ]]></description><category></category></item><item><title><![CDATA[关于promise用法示例及实现原理]]></title><link>https://blog.youkuaiyun.com/ciel_2/article/details/112297269</link><guid>https://blog.youkuaiyun.com/ciel_2/article/details/112297269</guid><author>ciel_2</author><pubDate>Wed, 06 Jan 2021 22:54:26 +0800</pubDate><description><![CDATA[文章目录1.用法示例2.实现promise原理
1.用法示例
    lilei('yo~~').then(hanmeimei).then(liming)
    
    function lilei(bang){
      return new Promise((open)=&gt;{
        console.log('李雷起跑')
        setTimeout(() =&gt; {
          console.log('李雷到达终点')
          console.l]]></description><category></category></item><item><title><![CDATA[利用promise及参数解构封装ajax请求]]></title><link>https://blog.youkuaiyun.com/ciel_2/article/details/112278929</link><guid>https://blog.youkuaiyun.com/ciel_2/article/details/112278929</guid><author>ciel_2</author><pubDate>Wed, 06 Jan 2021 16:13:14 +0800</pubDate><description><![CDATA[文章目录1.前端代码2.后端
1.前端代码
&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
  &lt;meta charset="UTF-8"&gt;
  &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
  &lt;title&gt;Document&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
 ]]></description><category></category></item><item><title><![CDATA[nodejs生成服务端]]></title><link>https://blog.youkuaiyun.com/ciel_2/article/details/112250427</link><guid>https://blog.youkuaiyun.com/ciel_2/article/details/112250427</guid><author>ciel_2</author><pubDate>Tue, 05 Jan 2021 18:56:17 +0800</pubDate><description><![CDATA[1.下载安装脚手架
npm i express-generator -g

2.生成项目
express --no-view testserver

3.进入项目，下载依赖
cd testserver/
npm i

4.启动服务端
npm start


]]></description><category></category></item><item><title><![CDATA[2020-10：节流&防抖及其应用场景和原理]]></title><link>https://blog.youkuaiyun.com/ciel_2/article/details/112162647</link><guid>https://blog.youkuaiyun.com/ciel_2/article/details/112162647</guid><author>ciel_2</author><pubDate>Tue, 05 Jan 2021 15:08:59 +0800</pubDate><description><![CDATA[文章目录1.防抖2.节流
1.防抖
只要不是最后一次触发，就不执行异步请求
&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
  &lt;meta charset="UTF-8"&gt;
  &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
  &lt;title&gt;Document&lt;/title&gt;
&lt;/head&gt]]></description><category></category></item><item><title><![CDATA[2020-9：DOM的浏览器兼容性问题/IE的事件处理和W3C的事件处理有哪些区别]]></title><link>https://blog.youkuaiyun.com/ciel_2/article/details/112135589</link><guid>https://blog.youkuaiyun.com/ciel_2/article/details/112135589</guid><author>ciel_2</author><pubDate>Sun, 03 Jan 2021 15:39:47 +0800</pubDate><description><![CDATA[DOM的浏览器兼容性问题1）事件模型2）事件绑定：3）获得事件对象的方法：4）获得目标元素5）阻止冒泡：6）阻止默认行为:7）定义一个函数，可以支持所有浏览器中的处理函数的绑定（考虑浏览器的兼容性）
1）事件模型


DOM（3个阶段）：
① 外向内：捕获
② 目标触发
③ 内向外：冒泡执行



IE8（2个阶段）：
没有捕获阶段
① 目标触发
② 内向外：冒泡执行


2）事件绑定：

DOM: elem.addEventListener(‘click’, function(){}, false)，第3]]></description><category></category></item><item><title><![CDATA[2020-题目（CSS3）]]></title><link>https://blog.youkuaiyun.com/ciel_2/article/details/111998777</link><guid>https://blog.youkuaiyun.com/ciel_2/article/details/111998777</guid><author>ciel_2</author><pubDate>Wed, 30 Dec 2020 22:40:53 +0800</pubDate><description><![CDATA[1. display: none; 与 visibility: hidden; 的区别
相同点：都能让元素不可见
不同点：
1) 渲染树

display: none;  会让元素完全从渲染树（不是dom树）中消失，渲染的时候不占据任何空间；
visibility: hidden; 不会让元素从渲染树中消失，渲染元素继续占据空间，只是内容不可见

2) 属性是否可继承

display: none;  是非继承属性，子孙节点消失由于元素从渲染树消失造成，通过修改子孙节点属性无法显示
visibility: ]]></description><category></category></item><item><title><![CDATA[2020-题目（HTML5）]]></title><link>https://blog.youkuaiyun.com/ciel_2/article/details/111825409</link><guid>https://blog.youkuaiyun.com/ciel_2/article/details/111825409</guid><author>ciel_2</author><pubDate>Wed, 30 Dec 2020 21:24:14 +0800</pubDate><description><![CDATA[2020题目（2）1.DOCTYPE的作用？标准模式与兼容模式的区别？2.页面导入样式时，使用link和@import有什么区别？1) 用途：2) 加载顺序3) 优先级4) DOM操作3.对浏览器内核的理解4.常见的浏览器内核种类5.HTML5新特性6.HTML5移除的元素7.如何处理HTML5新标签的兼容性8.对HTML语义化的理解9.[重要]cookie、sessionStorage、localStorage相同点：都存储在客户端不同点：1) 存储大小2) 有效时间3) 数据与服务器之间的交互方式4）实]]></description><category></category></item><item><title><![CDATA[2020-8：实现浏览器内多个标签页之间通信的4种方式(html5 & JavaScript)]]></title><link>https://blog.youkuaiyun.com/ciel_2/article/details/111998536</link><guid>https://blog.youkuaiyun.com/ciel_2/article/details/111998536</guid><author>ciel_2</author><pubDate>Wed, 30 Dec 2020 21:19:08 +0800</pubDate><description><![CDATA[1) cookie + setInterval 方式
注: cookie、localStorage、sessionStorage在同源页面间属于共享资源。（同源：如两个页面的协议、IP地址、端口号相同，即为同源页面）
缺点：
①  cookie 空间有限，浏览器在每个域名下最多能设置30-50个cookie，容量最多4k左右
② 每次 HTTP 请求会把当前域的所有cookie发送到服务器上，包括只在本地才用到的。浪费网络带宽
③ setInterval的频率设置，过大会影响浏览器性能，过小会影响时效性
优]]></description><category></category></item></channel></rss>