<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[csdn_zy_com的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/csdn_zy_com</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; csdn_zy_com]]></copyright><item><title><![CDATA[导出excel]]></title><link>https://blog.youkuaiyun.com/csdn_zy_com/article/details/128093312</link><guid>https://blog.youkuaiyun.com/csdn_zy_com/article/details/128093312</guid><author>csdn_zy_com</author><pubDate>Tue, 29 Nov 2022 10:43:08 +0800</pubDate><description><![CDATA[导出文件的时候，后端返回blob文件流的数据，而不是返回URL地址]]></description><category></category></item><item><title><![CDATA[前端解析图片文件流excel文件流]]></title><link>https://blog.youkuaiyun.com/csdn_zy_com/article/details/128092309</link><guid>https://blog.youkuaiyun.com/csdn_zy_com/article/details/128092309</guid><author>csdn_zy_com</author><pubDate>Tue, 29 Nov 2022 10:12:41 +0800</pubDate><description><![CDATA[处理后端返回的流文件]]></description><category></category></item><item><title><![CDATA[ajax请求及前端发送请求的几种方式]]></title><link>https://blog.youkuaiyun.com/csdn_zy_com/article/details/120757524</link><guid>https://blog.youkuaiyun.com/csdn_zy_com/article/details/120757524</guid><author>csdn_zy_com</author><pubDate>Tue, 19 Oct 2021 22:15:02 +0800</pubDate><description><![CDATA[什么是Ajax？
ajax是一种用于创建快速动态网页的技术，是一个默认异步执行机制的功能，ajax分为同步（async=false）和异步（async=true）。通过在后台与服务器进行少量数据交换，可以使网页实现异步更新。也就是说可以在不重新加载整个网页的情况下，使网页的局部更新。
什么是同步请求？
同步请求是指当前发出请求后，浏览器什么都不能做，必须得等到请求完成返回数据
之后，才会执行后续的代码。类似于单线程任务要一个一个来

什么是异步请求？（ajax请求默认异步）
异步请求就是当发生请求的同时，浏]]></description><category></category></item><item><title><![CDATA[css3总结]]></title><link>https://blog.youkuaiyun.com/csdn_zy_com/article/details/117637953</link><guid>https://blog.youkuaiyun.com/csdn_zy_com/article/details/117637953</guid><author>csdn_zy_com</author><pubDate>Wed, 09 Jun 2021 17:43:02 +0800</pubDate><description><![CDATA[em和rem
em单位根据元素的父元素的大小而计算出实际的大小。
rem单位根据页面上的根元素(html)的大小而计算出实际的大小
例：我们指定HTML元素的字体大小为10px，small元素的字体大小为11px,strong元素的字体大小为18px。
//大多数浏览器中，默认字体大小为16px,也可将根元素的大小设为62.5%
   从而使浏览器自动算出10个像素。
html{font-size:10px;}
small{font-size:1.1rem;}
strong{font-size:1.8rem]]></description><category></category></item><item><title><![CDATA[css3笔记总结——选择器]]></title><link>https://blog.youkuaiyun.com/csdn_zy_com/article/details/117470293</link><guid>https://blog.youkuaiyun.com/csdn_zy_com/article/details/117470293</guid><author>csdn_zy_com</author><pubDate>Sat, 05 Jun 2021 18:27:23 +0800</pubDate><description><![CDATA[本文对css3的一些知识点做了一些简单的概括和总结，欢迎大家一起学习共同进步，如有不足欢迎指正。选择器是css3中一个重要的内容，大型网站中如果单一的使用元素的class属性书写样式有两个缺点：一：class属性本省没有语义，纯粹用来服务css样式，属于多余属性；二：使用class属性，并没有把样式与元素绑定起来，针对同一个class属性，文本框、下拉框、甚至按钮也可以使用，这样是非常混乱的，修改样式也不方便。所以，在css3中，提倡使用选择器来将样式与元素直接绑定起来。

属性选择器（att代表属性，va]]></description><category></category></item><item><title><![CDATA[重绘和回流]]></title><link>https://blog.youkuaiyun.com/csdn_zy_com/article/details/107794623</link><guid>https://blog.youkuaiyun.com/csdn_zy_com/article/details/107794623</guid><author>csdn_zy_com</author><pubDate>Sun, 13 Sep 2020 14:53:20 +0800</pubDate><description><![CDATA[回流：当render tree(渲染树)因为元素的规模尺寸，布局，隐藏等改变而需要重新构建，这就称为回流（reflow）。
常见的回流的操作
1、页面初次渲染
2、更改浏览器尺寸（window）大小
3、修改元素的尺寸
4、部分dom操作
重绘是当节点需要更改外观而不会影响布局的操作，比如改变 color 就叫称为重绘
常见的重绘的操作：
1.改变元素的背景色或字体颜色
2触发页面回流的属性
1、盒子模型相关属性会触发重布局
2、定位属性及浮动也会触发重布局
3、改变节点内部文字结构也会触发重布局
widt]]></description><category></category></item><item><title><![CDATA[浅谈函数防抖和节流]]></title><link>https://blog.youkuaiyun.com/csdn_zy_com/article/details/105339210</link><guid>https://blog.youkuaiyun.com/csdn_zy_com/article/details/105339210</guid><author>csdn_zy_com</author><pubDate>Mon, 06 Apr 2020 11:37:33 +0800</pubDate><description><![CDATA[什么是防抖、节流 ?
防抖和节流是针对响应跟不上事件触发频率，而影响浏览器性能这类问题的两种解决方案。 像鼠标移动事件onmousemove,滚动滚动条事件onscroll,窗口大小改变事件onresize，这类我们无法控制触发频率的事件，瞬间的操作都会导致这些事件会被高频触发。如果事件的回调较为复杂，就会导致响应跟不上触发，进而出现页面卡顿，假死现象。在实时检查输入时，如果我们绑定onkeyup...]]></description><category></category></item><item><title><![CDATA[前后端分离技术mock]]></title><link>https://blog.youkuaiyun.com/csdn_zy_com/article/details/105135548</link><guid>https://blog.youkuaiyun.com/csdn_zy_com/article/details/105135548</guid><author>csdn_zy_com</author><pubDate>Fri, 27 Mar 2020 11:31:56 +0800</pubDate><description><![CDATA[mock是干什么的？
mock.js官网上介绍的是 生成随机数据，拦截Ajax请求。简单说 mock就是一个模拟数据生成器，旨在帮助前端独立于后端进行开发，帮助编写单元测试
mock功能
1.模拟ajax请求，生成请求数据
2.根据数据模板生成模板数据
3.加快前端开发速度
在开发过程中，进度比较赶的情况下，前端人员当页面写完时，后台的接口还没写完，等要交付的时候后端才把接口给你，这个时候就很尴尬...]]></description><category></category></item><item><title><![CDATA[ES6 Promise]]></title><link>https://blog.youkuaiyun.com/csdn_zy_com/article/details/105126072</link><guid>https://blog.youkuaiyun.com/csdn_zy_com/article/details/105126072</guid><author>csdn_zy_com</author><pubDate>Thu, 26 Mar 2020 20:37:07 +0800</pubDate><description><![CDATA[Promise基本上是面试面试必问点之一。为什么能在面试这么高频的呢？
什么是Promise
它的出现是为了更好地解决JavaScript中异步编程的问题，传统的异步编程最大的特点就是大量的回调嵌套，被称为回调地狱，一旦嵌套次数过多，就很容易使我们的代码难以理解和维护。而promise则可以让我们通过链式调用的方法去调用回调嵌套的问题，使我们的代码更容易理解和辩护，而且promise还增加了许多有...]]></description><category></category></item><item><title><![CDATA[ES6详解]]></title><link>https://blog.youkuaiyun.com/csdn_zy_com/article/details/104999412</link><guid>https://blog.youkuaiyun.com/csdn_zy_com/article/details/104999412</guid><author>csdn_zy_com</author><pubDate>Sat, 21 Mar 2020 20:56:20 +0800</pubDate><description><![CDATA[首先唠唠ES的发展史，ES6为ECMAScript的六个版本。ESMAScript是一个语言的标准。
ESMAScript+WEBapi(DOM、BOM)=JavaScript
ActionScript+WEBapi(DOM、BOM)=flash




年份
版本
事件




1996
ES1.0
Netscape公司把js交个了ECMA的组织，es正式出现


2007
ES4.0
由于更新...]]></description><category></category></item><item><title><![CDATA[原生ajax和jQuery中的ajax]]></title><link>https://blog.youkuaiyun.com/csdn_zy_com/article/details/104795316</link><guid>https://blog.youkuaiyun.com/csdn_zy_com/article/details/104795316</guid><author>csdn_zy_com</author><pubDate>Thu, 12 Mar 2020 10:34:45 +0800</pubDate><description><![CDATA[Ajax全称是asynchronous javascript and xml,主要用来实现客户端与服务器端的异步通讯效果，实现页面的局部刷新，从而创建快速动态网页的技术
什么是同步？什么是异步？
同步：同一时刻只能做一件事，上一步完成才能开始下一步
异步：同时做多件事，效率更高
原生js中ajax发送数据的步骤
第一步：创建XMLHttpRequest对象，也就是创建一个异步对象
//必须基于xh...]]></description><category></category></item><item><title><![CDATA[js的时间线]]></title><link>https://blog.youkuaiyun.com/csdn_zy_com/article/details/104772606</link><guid>https://blog.youkuaiyun.com/csdn_zy_com/article/details/104772606</guid><author>csdn_zy_com</author><pubDate>Tue, 10 Mar 2020 13:31:13 +0800</pubDate><description><![CDATA[首先大家要知道JavaScript是单线程，解释型，弱类型的语言。JavaScript异步加载和ajax是没有任何关系的，然后再来看JavaScript时间线的过程。
时间线的步骤
1.创建document对象，开始解析web页面，解析HTML元素和他们的文本内容后添加Element对象和Text节点到文档中，这个阶段document.readyState = “loading”
2.遇到link...]]></description><category></category></item><item><title><![CDATA[JavaScript正则表达式]]></title><link>https://blog.youkuaiyun.com/csdn_zy_com/article/details/104343459</link><guid>https://blog.youkuaiyun.com/csdn_zy_com/article/details/104343459</guid><author>csdn_zy_com</author><pubDate>Mon, 17 Feb 2020 16:15:37 +0800</pubDate><description><![CDATA[一.正则表达式是匹配模式，要么匹配字符，要么匹配位置。
什么是位置？
如何匹配字符？如何匹配位置？
位置的特性？
模糊匹配： 而模糊匹配，有两个方向上的“模糊”：横向模糊和纵向模糊。
横向模糊指： 一个正则可匹配的字符串的长度不是固定的，可以是多种情况。
**实现的方式：**使用量词，譬如{m,n},表示连续出现最少m次,最多n次。
比如正则/ab{2,5}c/表示匹配这样一个字符串：第一个字符是...]]></description><category></category></item><item><title><![CDATA[前端经典面试题]]></title><link>https://blog.youkuaiyun.com/csdn_zy_com/article/details/103907884</link><guid>https://blog.youkuaiyun.com/csdn_zy_com/article/details/103907884</guid><author>csdn_zy_com</author><pubDate>Mon, 03 Feb 2020 18:29:35 +0800</pubDate><description><![CDATA[const shape = {
		  radius: 10,
		  diameter() {
		    return this.radius * 2;
		  },
		  perimeter: () =&gt; 2 * Math.PI * this.radius 
	};
	
	shape.diameter();
	shape.perimeter();

输出 1  3
对于箭头函数，t...]]></description><category></category></item><item><title><![CDATA[Flex-弹性布局]]></title><link>https://blog.youkuaiyun.com/csdn_zy_com/article/details/103896645</link><guid>https://blog.youkuaiyun.com/csdn_zy_com/article/details/103896645</guid><author>csdn_zy_com</author><pubDate>Thu, 09 Jan 2020 08:34:19 +0800</pubDate><description><![CDATA[首先父容器设置弹性盒子：display：flex；

1.flex-direction设置主轴方向
row:默认值 主轴从左到右；
column:主轴从上到下；
row-reverse:主轴从右到左；
column-reverse:主轴从下到上；
2.设置子项是否换行：flex-wrap:wrap
nowrap:默认值
wrap:会换行
wrap-reverse:倒着换行

3.设置主轴上的对齐方...]]></description><category></category></item><item><title><![CDATA[实现响应式布局的两种方法（媒体查询，Bootstrap框架）]]></title><link>https://blog.youkuaiyun.com/csdn_zy_com/article/details/103881551</link><guid>https://blog.youkuaiyun.com/csdn_zy_com/article/details/103881551</guid><author>csdn_zy_com</author><pubDate>Tue, 07 Jan 2020 22:49:24 +0800</pubDate><description><![CDATA[一媒体查询
二Bootstrap框架


上述3个meta标签必须放在最前面，任何其他内容都必须跟随其后

[if lt IE 9]&gt;
  &lt;script src="https://cdn.jsdelivr.net/npm/html5shiv@3.7.3/dist/html5shiv.min.js"&gt;&lt;/script&gt;
  &lt;script src="https:...]]></description><category></category></item><item><title><![CDATA[web常用的三种存储方式的区别及记录登录名和密码案例]]></title><link>https://blog.youkuaiyun.com/csdn_zy_com/article/details/103705462</link><guid>https://blog.youkuaiyun.com/csdn_zy_com/article/details/103705462</guid><author>csdn_zy_com</author><pubDate>Thu, 26 Dec 2019 17:25:11 +0800</pubDate><description><![CDATA[一.服务器存储：
数据库：存储项目的核心数据
session技术：存储当前用户的信息
客户端存储：
cookie存储：大小限制在4kb，通过请求服务器返回一个cookieID存在浏览器缓存中，占用宽带，浏览器通用IE6限制每个与，名20个cookies
userDate是IE的专用特性，用的人较少，现在用的最多的flash的本地存储，空间是cookie的25倍，已被淘汰。
Google Gears...]]></description><category></category></item><item><title><![CDATA[H5 canvas实现简单的飞机大战小游戏]]></title><link>https://blog.youkuaiyun.com/csdn_zy_com/article/details/103641996</link><guid>https://blog.youkuaiyun.com/csdn_zy_com/article/details/103641996</guid><author>csdn_zy_com</author><pubDate>Sat, 21 Dec 2019 11:17:05 +0800</pubDate><description><![CDATA[整体分析飞机大战游戏
游戏存在就会有准备阶段（控制游戏全局属性）：
1. 定义游戏状态
		第一阶段：游戏欢迎状态   0     START
		第二阶段：游戏加载状态   1			LOADING
		第三阶段：游戏运行状态   2			RUNNING
		第四阶段：游戏暂停阶段   3			PAUSE
		第五阶段：游戏结束阶段   4			GAMEOVER

2. 定义游戏得分 score ...]]></description><category></category></item><item><title><![CDATA[多物体多目标的缓冲运动及js设置获取元素css样式的方法]]></title><link>https://blog.youkuaiyun.com/csdn_zy_com/article/details/103536428</link><guid>https://blog.youkuaiyun.com/csdn_zy_com/article/details/103536428</guid><author>csdn_zy_com</author><pubDate>Sat, 14 Dec 2019 11:31:22 +0800</pubDate><description><![CDATA[获取元素样式的方法：

ps:element表示待求解样式的DOM元素对象

1.element.style  //获取行内（内联）样式表对象
2.window.getComputedStyle(element,null)//IE9以下能兼容，第二个参数获得伪类元素的样式
3.element.currentStyle()

设置元素CSS样式的方法：
element.style.attrName ...]]></description><category></category></item><item><title><![CDATA[前端工程师与搜索引擎  网站SEO优化]]></title><link>https://blog.youkuaiyun.com/csdn_zy_com/article/details/103463523</link><guid>https://blog.youkuaiyun.com/csdn_zy_com/article/details/103463523</guid><author>csdn_zy_com</author><pubDate>Mon, 09 Dec 2019 20:44:54 +0800</pubDate><description><![CDATA[标签语义话的好处：
1.提高搜索引擎    SEO（搜索引擎优化）
2.让代码开发者更加高效的工作，简化代码标签的使用
搜索引擎的工作原理：网络蜘蛛爬虫，不断升温去收集关键字
前端工程师如何优化？
一关键词策划
1为了搜索引擎更好的识别网站的核心内容，关键词布局要合理
2.关键词布局合理的几点建议：
1网站的logo通过alt以及title标签来设置关键字
2导航是作为仅次于网站logo权重分配的...]]></description><category></category></item></channel></rss>