<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[baibaider的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/baibaider</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; baibaider]]></copyright><item><title><![CDATA[js下载文件]]></title><link>https://blog.youkuaiyun.com/baibaider/article/details/104615014</link><guid>https://blog.youkuaiyun.com/baibaider/article/details/104615014</guid><author>baibaider</author><pubDate>Mon, 02 Mar 2020 19:17:43 +0800</pubDate><description><![CDATA[背景：最近有需求需要根据后段返回内容生成一个txt文件（UTF-8编码）在前端可下载。尝试了几种方式，情况如下：



1. a标签下载

使用：


&lt;a href="url" download="fileName"&gt; //url为要下载的内容地址，fileName为生成的文件地址


问题：

url同源的情况下：浏览器直接下载
	url不同源：浏览器则会预览：打开它能打开的文件...]]></description><category></category></item><item><title><![CDATA[使用npx creact-react-app project 只生成了node_modules, package.json and packageloack.json]]></title><link>https://blog.youkuaiyun.com/baibaider/article/details/103496662</link><guid>https://blog.youkuaiyun.com/baibaider/article/details/103496662</guid><author>baibaider</author><pubDate>Wed, 11 Dec 2019 17:40:40 +0800</pubDate><description><![CDATA[描述：
想要用脚手架快速新建一个react app的时候使用 npx creact-react-app project 命令后查看文件夹，文件夹下只有 node_modules, package.json and packageloack.json 三个项目，其他如 src, public and scripts folder 都没有。
命令行报错如下：
A template was not pr...]]></description><category></category></item><item><title><![CDATA[highcharts属性的配置]]></title><link>https://blog.youkuaiyun.com/baibaider/article/details/100565576</link><guid>https://blog.youkuaiyun.com/baibaider/article/details/100565576</guid><author>baibaider</author><pubDate>Fri, 06 Sep 2019 10:32:32 +0800</pubDate><description><![CDATA[一个从官网粘贴的简单代码示例：


&lt;div class="main"&gt;
    &lt;div id="container" style="min-width:400px;height:400px"&gt;&lt;/div&gt;
    &lt;script src="https://code.highcharts.com.cn/highcharts/highcharts.js"&...]]></description><category></category></item><item><title><![CDATA[js中sort方法的排序问题及localecompare方法]]></title><link>https://blog.youkuaiyun.com/baibaider/article/details/83242347</link><guid>https://blog.youkuaiyun.com/baibaider/article/details/83242347</guid><author>baibaider</author><pubDate>Sun, 21 Oct 2018 16:22:22 +0800</pubDate><description><![CDATA[sort():

对数组的元素先调用toString方法，再按照字符串的Unicode编码进行排序。
	内部实现原理：插入和快排，数组元素&amp;lt;=22的时候，使用插入排序；再大的使用快速排序。（源码：v8实现array.js源码）
	
	并且sort方法是会改变原数组的。
localecompare():

a.localeCompare(b);

用本地特定的顺序来比较两个字符串，若a&amp;gt;...]]></description><category></category></item><item><title><![CDATA[js算法]]></title><link>https://blog.youkuaiyun.com/baibaider/article/details/82385511</link><guid>https://blog.youkuaiyun.com/baibaider/article/details/82385511</guid><author>baibaider</author><pubDate>Tue, 04 Sep 2018 16:17:07 +0800</pubDate><description><![CDATA[1. js实现大整数相加

思路：就是我们算加法的思想，从后往前，逢十进一。如果不先reverse在循环里倒着加其实也是一样的，但是我觉得这么写更浅显易懂，但可能优化方面就不是很好，因为拿长数字做了基准。


    var num1 = 999999999564569;
    var num2 = 666666666;
    function plus(num1, num2){
      ...]]></description><category></category></item><item><title><![CDATA[input框的输入事件]]></title><link>https://blog.youkuaiyun.com/baibaider/article/details/81491020</link><guid>https://blog.youkuaiyun.com/baibaider/article/details/81491020</guid><author>baibaider</author><pubDate>Fri, 10 Aug 2018 00:00:41 +0800</pubDate><description><![CDATA[要求：

input框只能输入数字。

问题：

只判断e.keyCode的情况下，在中文输入法中出现了e.keyCode均为229的情况，不论输入数字还是其他。

解决：

修改input框的type为number，但会出现默认样式，并且并不能真的限制数字。（在中文输入法下还是能输入中文）

1. 中文输入法



在中文打出的字母没有真正的键入input框的时候是会触发事件的，但再点击回车d不...]]></description><category></category></item><item><title><![CDATA[浏览器自带的滚动条样式]]></title><link>https://blog.youkuaiyun.com/baibaider/article/details/81517458</link><guid>https://blog.youkuaiyun.com/baibaider/article/details/81517458</guid><author>baibaider</author><pubDate>Thu, 09 Aug 2018 00:06:48 +0800</pubDate><description><![CDATA[通常只适用于chrome：


&amp;lt;div class=&quot;parent&quot;&amp;gt;
    &amp;lt;div class=&quot;child&quot;&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;


.parent{
            overflow: auto;
            width:100px;
            background-color: #ffcccc;...]]></description><category></category></item><item><title><![CDATA[内部属性[[class]]]]></title><link>https://blog.youkuaiyun.com/baibaider/article/details/80660993</link><guid>https://blog.youkuaiyun.com/baibaider/article/details/80660993</guid><author>baibaider</author><pubDate>Tue, 12 Jun 2018 10:10:44 +0800</pubDate><description><![CDATA[1. 对象的[[class]]属性所有typeof返回值为“object”的对象（如数组）都包含一个内部属性[[class]]，这个属性无法直接访问，一般通过Object.prototype.toString(..)来查看。    console.log(Object.prototype.toString.call([1,2,3]));  //[object Array]

    console...]]></description><category></category></item><item><title><![CDATA[css 变量]]></title><link>https://blog.youkuaiyun.com/baibaider/article/details/79901993</link><guid>https://blog.youkuaiyun.com/baibaider/article/details/79901993</guid><author>baibaider</author><pubDate>Wed, 16 May 2018 17:06:22 +0800</pubDate><description><![CDATA[。。。]]></description><category></category></item><item><title><![CDATA[正则的方法及常用正则]]></title><link>https://blog.youkuaiyun.com/baibaider/article/details/80040477</link><guid>https://blog.youkuaiyun.com/baibaider/article/details/80040477</guid><author>baibaider</author><pubDate>Sun, 22 Apr 2018 17:47:23 +0800</pubDate><description><![CDATA[1.正则的写法：var re = /a/;  //使用字面量，相比构造函数性能较好（加载脚本后编译） var re = new RegExp('a'); //使用构造函数，（运行时编译）当你知道正则表达式模式将会改变，或者你不知道模式，并从另一个来源，如用户输入时。2.正则的方法：方法描述exec一个在字符串中执行查找匹配的RegExp方法，它返回一个数组（未匹配到则返回null）。test一个在...]]></description><category></category></item><item><title><![CDATA[关于隐式类型转换]]></title><link>https://blog.youkuaiyun.com/baibaider/article/details/79938342</link><guid>https://blog.youkuaiyun.com/baibaider/article/details/79938342</guid><author>baibaider</author><pubDate>Sat, 14 Apr 2018 15:33:59 +0800</pubDate><description><![CDATA[少数情况下，js会发生隐式类型转换，我们不注意就会引起错误，总结一下。1.运算符的转换：-，*，/，%会将操作数转换为数字去计算，但+不一样，两边纯数字会按数字相加，纯字符串会拼接，但数字和字符串也会将字符串和数字拼接起来。      console.log(&quot;1 - '2'&quot;);
      console.log(1 - '2'); //-1
      console.log(&quot;1 * '2...]]></description><category></category></item><item><title><![CDATA[web socket]]></title><link>https://blog.youkuaiyun.com/baibaider/article/details/79905187</link><guid>https://blog.youkuaiyun.com/baibaider/article/details/79905187</guid><author>baibaider</author><pubDate>Thu, 12 Apr 2018 00:09:51 +0800</pubDate><description><![CDATA[1.什么是WebSocket？WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。特点是服务器可以主动向客户端推送消息，客户端也可以主动向服务器发送消息，属于服务器推送技术的一种。（1）建立在TCP协议之上，服务器端实现较容易。（2）与HTTP协议有良好的兼容性。默认端口也是80和443，且握手阶段采用...]]></description><category></category></item><item><title><![CDATA[css的各种单位]]></title><link>https://blog.youkuaiyun.com/baibaider/article/details/79859291</link><guid>https://blog.youkuaiyun.com/baibaider/article/details/79859291</guid><author>baibaider</author><pubDate>Mon, 09 Apr 2018 23:05:01 +0800</pubDate><description><![CDATA[我常用的单位无非px，rem，deg等等，但今天看到了vw，vh，vm这样的单位，遂决定总结一下。关于单位的相关来自张鑫旭大神，在我的理解上做了些补充~单位含义em相对于父元素的字体大小，若父元素font-size为16px，那么1em就为16pxex相对于小写字母&quot;x&quot;的高度gd一般用在东亚字体排版上，这个与英文并无关系rem相对于根元素字体大小，若根元素font-size为16px，那么1em...]]></description><category></category></item><item><title><![CDATA[脱离文档流，position与z-inex的关系]]></title><link>https://blog.youkuaiyun.com/baibaider/article/details/79843587</link><guid>https://blog.youkuaiyun.com/baibaider/article/details/79843587</guid><author>baibaider</author><pubDate>Sat, 07 Apr 2018 19:55:05 +0800</pubDate><description><![CDATA[文档流：从上至下，从左至右的布局符合html中标签本身含义的布局，比如某些标签独占一行，有些标签属于行内元素等。脱离文档流：将元素从普通文档流中去掉，其他元素在排版的时候会当作这个元素不存在去排版。什么会导致元素脱离文档流：float：脱离文档流，但其他的元素文字会找到该元素的文字位置。position:absolute：脱离文档流，其他元素完全无视该元素。它的定位取决于它的父元素有没有定位（po...]]></description><category></category></item><item><title><![CDATA[Node.js学习（一）之全局对象和全局变量]]></title><link>https://blog.youkuaiyun.com/baibaider/article/details/79802788</link><guid>https://blog.youkuaiyun.com/baibaider/article/details/79802788</guid><author>baibaider</author><pubDate>Thu, 05 Apr 2018 15:11:01 +0800</pubDate><description><![CDATA[初处开始学习Node.js之路~以下的链接均来自Node.js中文网。全局对象：global：表示Node.js所在的全局环境，类似于浏览器的window对象，但区别在于：在模块文件中声明变量 var x = 1，该变量并不是global对象的属性，global.x = undefined。模块的全局变量都是该模块私有的，其他模块无法取到。Node.js中文网的解释：在浏览器中，顶层作用域就是全局...]]></description><category></category></item><item><title><![CDATA[CORS跨域与@crossorigin]]></title><link>https://blog.youkuaiyun.com/baibaider/article/details/79793449</link><guid>https://blog.youkuaiyun.com/baibaider/article/details/79793449</guid><author>baibaider</author><pubDate>Mon, 02 Apr 2018 21:47:43 +0800</pubDate><description><![CDATA[在这之前只是知道两者各自是什么，但却一直不清楚两者的关系，如今总结为下：

CORS，全称是&quot;跨域资源共享&quot;（Cross-origin resource sharing）

它允许浏览器向跨源服务器发出XMLHttpRequest请求，从而克服了Ajax只能同源使用的限制。

基本思想是：使用自定义的HTTP头部允许服务器和浏览器相互了解对方，从而决定请求或响应成功与否。

处理简单请求：

 
...]]></description><category></category></item><item><title><![CDATA[js的垃圾回收机制和内存分配]]></title><link>https://blog.youkuaiyun.com/baibaider/article/details/79740864</link><guid>https://blog.youkuaiyun.com/baibaider/article/details/79740864</guid><author>baibaider</author><pubDate>Thu, 29 Mar 2018 13:29:04 +0800</pubDate><description><![CDATA[GC垃圾回收机制：垃圾收集器会定期（周期性）找出那些不在继续使用的变量，然后释放其内存。不再使用的变量即指那些局部变量，全局变量的生命周期直到浏览器关闭页面才结束，这时会再清除一次。局部变量只在函数执行过程中存在，这个过程中会给它们分配内存去储存它们的值，然后在函数中使用，直至函数结束，而闭包是因为在函数外还有对这个变量的引用，所以并不会被垃圾回收机制清除。标记清除法（常用）：垃圾回收器在运行的时...]]></description><category></category></item><item><title><![CDATA[Highcharts的学习]]></title><link>https://blog.youkuaiyun.com/baibaider/article/details/79653994</link><guid>https://blog.youkuaiyun.com/baibaider/article/details/79653994</guid><author>baibaider</author><pubDate>Wed, 28 Mar 2018 20:41:35 +0800</pubDate><description><![CDATA[简介：Highcharts 是一个用纯 JavaScript 编写的一个图表库， 能够很简单便捷的在 Web 网站或是 Web 应用程序添加有交互性的图表，并且免费提供给个人学习、个人网站和非商业用途使用。Highcharts 支持的图表类型有直线图、曲线图、区域图、柱状图、饼状图、散状点图、仪表图、气泡图、瀑布流图等多达 20 种图表，其中很多图表可以集成在同一个图形中形成混合图。Highsto...]]></description><category></category></item><item><title><![CDATA[pwa]]></title><link>https://blog.youkuaiyun.com/baibaider/article/details/79726962</link><guid>https://blog.youkuaiyun.com/baibaider/article/details/79726962</guid><author>baibaider</author><pubDate>Wed, 28 Mar 2018 20:36:34 +0800</pubDate><description><![CDATA[1.pwa是什么：PWA的中文名叫做渐进式网页应用。PWA 可以将 Web 和 App 各自的优势融合在一起：渐进式、可响应、可离线、实现类似 App 的交互、即时更新、安全、可以被搜索引擎检索、可推送、可安装、可链接。需要特别说明的是，PWA 不是特指某一项技术，而是应用了多项技术的 Web App。其核心技术包括 App Manifest、Service Worker、Web Push，等等。...]]></description><category></category></item><item><title><![CDATA[vue与react的区别]]></title><link>https://blog.youkuaiyun.com/baibaider/article/details/79712503</link><guid>https://blog.youkuaiyun.com/baibaider/article/details/79712503</guid><author>baibaider</author><pubDate>Tue, 27 Mar 2018 19:08:26 +0800</pubDate><description><![CDATA[1.创建者等react是Facebook公司创建的js框架，并创新了新的语法，JSX（html in javascript），而vue相对来说更容易学习，且使用模板系统，Reat与Vue只有框架的骨架，其他的功能如路由、状态管理等是框架分离的组件。2.关于虚拟dom改变真实的DOM状态远比改变一个JavaScript对象的花销要大得多。·Virtual DOM是一个映射真实DOM的JavaScri...]]></description><category></category></item></channel></rss>