<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[WEB_YH的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/WEB_YH</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; WEB_YH]]></copyright><item><title><![CDATA[前端跨域方法之window.name]]></title><link>https://blog.youkuaiyun.com/WEB_YH/article/details/79364625</link><guid>https://blog.youkuaiyun.com/WEB_YH/article/details/79364625</guid><author>WEB_YH</author><pubDate>Sat, 24 Feb 2018 18:37:42 +0800</pubDate><description><![CDATA[window.name同样是适用于窗体之间的通信，window.name这个属性的值只要在同一个窗口中，前一个网页设置了它的值，后一个网页就可以读取他，无论是否跨域。例如：父窗口 http:127.0.0.1:3000/a.html 子窗口 http:127.0.0.1:3001/b.html子窗口内设置了window.name,那么父窗口就可以通过获取子窗口的window对象从而拿到window...]]></description><category></category></item><item><title><![CDATA[前端跨域方法之window.PostMessage]]></title><link>https://blog.youkuaiyun.com/WEB_YH/article/details/79364617</link><guid>https://blog.youkuaiyun.com/WEB_YH/article/details/79364617</guid><author>WEB_YH</author><pubDate>Sat, 24 Feb 2018 18:34:27 +0800</pubDate><description><![CDATA[一、window.PostMessage适用于同一页面的不同窗体内跨域通信。该方法允许跨窗口通信，不论这两个窗口是否同源。二、举例来说，父窗口http://127.0.0.1:3000/index.html 向子窗口 http://127.0.0.1:3001/index.html发送消息，调用postMessage方法就行。（向谁发送消息，首先要获取其window对象，比如父窗口向子窗口发送消息...]]></description><category></category></item><item><title><![CDATA[前端跨域方法之JSONP]]></title><link>https://blog.youkuaiyun.com/WEB_YH/article/details/79364598</link><guid>https://blog.youkuaiyun.com/WEB_YH/article/details/79364598</guid><author>WEB_YH</author><pubDate>Sat, 24 Feb 2018 18:32:04 +0800</pubDate><description><![CDATA[JSONP是服务器与浏览器跨源通信的常用方法，使用代价小。思想：网页通过添加一个&amp;lt;script&amp;gt;元素，向服务器请求JSON数据，这种做法不受同源政策限制；服务器收到请求后，将数据放在一个指定名字的回调函数里传回来。demoindex.html服务器端：	...]]></description><category></category></item><item><title><![CDATA[前端跨域方法之CORS]]></title><link>https://blog.youkuaiyun.com/WEB_YH/article/details/79364593</link><guid>https://blog.youkuaiyun.com/WEB_YH/article/details/79364593</guid><author>WEB_YH</author><pubDate>Sat, 24 Feb 2018 18:30:13 +0800</pubDate><description><![CDATA[1、cross-domainCORS:是需要浏览器和服务器同时支持，IE浏览器不能低于IE10。整个跨域过程不需要用户的参与，从表面上看，CORS与ajax没有区别，代码相同，但是一旦浏览器发现跨域，它会自动在HTTP头部中添加附加信息（例如domain）,关键在于服务器是否实现了CORS接口。CORS请求分为简单请求和非简单请求。只要满足上面的两大条件就是简单请求，否则就是非简单请求。一、简单请...]]></description><category></category></item><item><title><![CDATA[前端跨域方法之document.domain和location.hash]]></title><link>https://blog.youkuaiyun.com/WEB_YH/article/details/79364565</link><guid>https://blog.youkuaiyun.com/WEB_YH/article/details/79364565</guid><author>WEB_YH</author><pubDate>Sat, 24 Feb 2018 18:27:13 +0800</pubDate><description><![CDATA[document.domain如果两个窗体一级域名相同，只是二级域名不同，那么浏览器是允许通过设置document.domain共享数据。只要将document.domain设置成相同的域名就可以共享数据。location.hash一、片段识别符（location.hash）指的是URL的#后面的部分，比如http:127.0.0.1:3000/index.html#hello的#hello，只改...]]></description><category></category></item><item><title><![CDATA[前端跨域方法之proxy(代理)]]></title><link>https://blog.youkuaiyun.com/WEB_YH/article/details/79364541</link><guid>https://blog.youkuaiyun.com/WEB_YH/article/details/79364541</guid><author>WEB_YH</author><pubDate>Sat, 24 Feb 2018 18:24:20 +0800</pubDate><description><![CDATA[一、我们知道同源策略只是在浏览器中存在，不存在于服务器中。因此我们可以将需要跨域请求的地址转发给我们自己的服务器然后委托服务器去请求信息。demo如下：页面代码我们将需要请求的跨域地址发送给我们服务器服务器代码   服务器作为代理去请求信息。...]]></description><category></category></item><item><title><![CDATA[前端跨域方法之websocket]]></title><link>https://blog.youkuaiyun.com/WEB_YH/article/details/79364514</link><guid>https://blog.youkuaiyun.com/WEB_YH/article/details/79364514</guid><author>WEB_YH</author><pubDate>Sat, 24 Feb 2018 18:21:57 +0800</pubDate><description><![CDATA[websocket不受同源策略影响，只要服务器端支持，就能实现。demo:服务器端]]></description><category></category></item><item><title><![CDATA[file-loader与url-loader的区别]]></title><link>https://blog.youkuaiyun.com/WEB_YH/article/details/79325182</link><guid>https://blog.youkuaiyun.com/WEB_YH/article/details/79325182</guid><author>WEB_YH</author><pubDate>Wed, 14 Feb 2018 13:41:51 +0800</pubDate><description><![CDATA[file-loader与url-loader的区别相同点：file-loader与url-loader都是在webpack中引入图片的解决方案。不同点：1、file-loader：返回的是图片的public URL。2、url-loader：与file-loader不同，url-loader可以在图片大小小于设定的limit的时候返回的是一个bDataURL（base64码），大于limit时会调...]]></description><category></category></item><item><title><![CDATA[webpack下的react配置文件（热替换）]]></title><link>https://blog.youkuaiyun.com/WEB_YH/article/details/79324506</link><guid>https://blog.youkuaiyun.com/WEB_YH/article/details/79324506</guid><author>WEB_YH</author><pubDate>Wed, 14 Feb 2018 10:15:02 +0800</pubDate><description><![CDATA[webpack_dev_onfig.js配置文件const webpack = require('webpack');
const path = require(&quot;path&quot;);
const UglifyJSPlugin = require(&quot;uglifyjs-webpack-plugin&quot;);
const entry = &quot;../app.js&quot;;
const outPutPath = &quot;../p...]]></description><category></category></item><item><title><![CDATA[prop 与 state的区别]]></title><link>https://blog.youkuaiyun.com/WEB_YH/article/details/79300997</link><guid>https://blog.youkuaiyun.com/WEB_YH/article/details/79300997</guid><author>WEB_YH</author><pubDate>Fri, 09 Feb 2018 18:08:21 +0800</pubDate><description><![CDATA[prop 与 state的区别1、prop是组件对外的接口，是用来接受数据。state是组件内部记录状态，用来改变组件。2、prop的赋值时在组建外进行的，state的改变是在组件的内部。3、组件是不应该改变的prop的值，而state就是让组件进行改变的。...]]></description><category></category></item><item><title><![CDATA[redraw(重绘)与reflow(回流)]]></title><link>https://blog.youkuaiyun.com/WEB_YH/article/details/79300987</link><guid>https://blog.youkuaiyun.com/WEB_YH/article/details/79300987</guid><author>WEB_YH</author><pubDate>Fri, 09 Feb 2018 18:06:29 +0800</pubDate><description><![CDATA[redraw(重绘)与reflow(回流)重绘当页面元素样式改变时不影响元素在文档流中的位置时（比如background,color等）这时候浏览器只会将新样式赋予元素进行；重新绘制操作重绘不会带来重新布局，不一定回流回流当改变的操作响应文档内容或者结构，或者元素的位置时就会触发回流。主要有以下几种情况DOM操作（对元素的增删改，顺序变化）改变元素的位置内容变化，包括表单区域的文本变化css属性的...]]></description><category></category></item><item><title><![CDATA[node.js的模块系统]]></title><link>https://blog.youkuaiyun.com/WEB_YH/article/details/79300970</link><guid>https://blog.youkuaiyun.com/WEB_YH/article/details/79300970</guid><author>WEB_YH</author><pubDate>Fri, 09 Feb 2018 18:04:29 +0800</pubDate><description><![CDATA[模块系统概念在node.js中，以模块为单位划分所有功能，并且提供了完善的模块加载机制。该模块系统是基于CommonJS。在node.js中，一个js文件内的函数、变量都只在该文件内有效。当外界需要引用该文件内的内容时，我们可以通过exports对象将目标暴露出去，使用者需要通过require()引用JS文件。exportsexports导出有两种方式：exports和 module.export...]]></description><category></category></item><item><title><![CDATA[javascript实现私有属性与实例属性]]></title><link>https://blog.youkuaiyun.com/WEB_YH/article/details/77891205</link><guid>https://blog.youkuaiyun.com/WEB_YH/article/details/77891205</guid><author>WEB_YH</author><pubDate>Fri, 08 Sep 2017 10:38:12 +0800</pubDate><description><![CDATA[javascript中，在函数上扩展方法属性的时候，通常选择在函数的prototype上扩展，比如
function fn(){}
fn.prototype.doSomething = function(){}  在上面的例子中，doSomething只能通过fn.prototype.doSomething来访问，并不能通过fn.doSomething访问。
  不知道大家看到这种情况会怎么想]]></description><category></category></item><item><title><![CDATA[html5离线缓存机制--manifest]]></title><link>https://blog.youkuaiyun.com/WEB_YH/article/details/76034260</link><guid>https://blog.youkuaiyun.com/WEB_YH/article/details/76034260</guid><author>WEB_YH</author><pubDate>Mon, 24 Jul 2017 18:23:52 +0800</pubDate><description><![CDATA[manifest:是web应用的一种缓存机制，当用户访问页面时，浏览器可以将我们规定的文件缓存下来，用于在没有网络的时候也能访问。
1、manifest文件
manifest是一种文本文件，它的扩展名可以是任意名字。文件内容主要是我们需要缓存的文件资源，一旦打开网站，浏览器将会自动进行缓存。
2、manifest工作流程。

在浏览器中存在一个APP cache,用来存储缓存文件。当浏览]]></description><category></category></item><item><title><![CDATA[ubuntu第一天]]></title><link>https://blog.youkuaiyun.com/WEB_YH/article/details/73550142</link><guid>https://blog.youkuaiyun.com/WEB_YH/article/details/73550142</guid><author>WEB_YH</author><pubDate>Wed, 21 Jun 2017 16:15:33 +0800</pubDate><description><![CDATA[1、查看目录

ls -options route简要说明：

1、ls -l
: 以列表形式显示当前目录下的文件

2、ls -a : 显示当前目录下所有文件，包括隐藏文件

3、ls -h : 以文件大小显示当前目录下的文件

4、ls route 显示指定目录下的文件

注意事项：命令可以随意组合 

example:







二、关于路径]]></description><category></category></item><item><title><![CDATA[BlcoklyGame分析二]]></title><link>https://blog.youkuaiyun.com/WEB_YH/article/details/73550100</link><guid>https://blog.youkuaiyun.com/WEB_YH/article/details/73550100</guid><author>WEB_YH</author><pubDate>Wed, 21 Jun 2017 16:06:19 +0800</pubDate><description><![CDATA[BlcoklyGame分析二

makefile分析
makefile中一共有两个主要执行应用分别对应命令make deps,make
 language.
以及三个小应用
make clean,make clean-languages,make
 clean-deps
1、make deps


是获得整个项目中所需要的第三方依赖（如Colsure，Blockly等）]]></description><category></category></item><item><title><![CDATA[BlocklyGame分析 一]]></title><link>https://blog.youkuaiyun.com/WEB_YH/article/details/73550079</link><guid>https://blog.youkuaiyun.com/WEB_YH/article/details/73550079</guid><author>WEB_YH</author><pubDate>Wed, 21 Jun 2017 16:05:22 +0800</pubDate><description><![CDATA[一、如何编译下载好的BlocklyGame项目

1、获得依赖 make deps

进入主文件blockly-games-master，即文件makefile所在的目录。通过make deps，得到并构建项目所需要的依赖，比如.soy文件所需要的Closure模板。

注，make这个命令，如果要在window下使用要安装GCC环境。linux下可以直接使用make这个命令。

]]></description><category></category></item><item><title><![CDATA[归并排序]]></title><link>https://blog.youkuaiyun.com/WEB_YH/article/details/72794766</link><guid>https://blog.youkuaiyun.com/WEB_YH/article/details/72794766</guid><author>WEB_YH</author><pubDate>Sun, 28 May 2017 21:11:54 +0800</pubDate><description><![CDATA[在js中，采用的是自上而下的归并排序。
原理：
注：我们将每次经行合并排序的两个数组看成左右数组。左数组中的内容在原始数组中则在右数组的左侧。
第一步：将数组分割为数个一个内容为一组的数组。//这一步并不是我们所想的那样一下子把原始数组分割成功，而是通过step(步长)来
获取原始数组中的每一项。
第二步：先两两为一组进行合并排序，然后四个四个为一组进行合并排序，依次类推，如果有成单元素则放到最后]]></description><category></category></item><item><title><![CDATA[underscore.js中如何判断两个对象的内容相同]]></title><link>https://blog.youkuaiyun.com/WEB_YH/article/details/72793383</link><guid>https://blog.youkuaiyun.com/WEB_YH/article/details/72793383</guid><author>WEB_YH</author><pubDate>Sun, 28 May 2017 15:49:42 +0800</pubDate><description><![CDATA[
    在js中，我们知道对象是引用类型，我们使用时定义的变量都是指向其内存地址。一个内存地址只对应一个对象，


内存地址不一样，两个对象就是内容再相同也是不相等的。


    有时候我们指的两个对象相等指的是内容相同，那么此时我们应该如何去比较两个对象内容相同呢，underscore.js


给出了两个主要函数：eq和deepEq函数。


    eq主要是进行基本的判断,比如+0和-...]]></description><category></category></item><item><title><![CDATA[计数排序]]></title><link>https://blog.youkuaiyun.com/WEB_YH/article/details/72786397</link><guid>https://blog.youkuaiyun.com/WEB_YH/article/details/72786397</guid><author>WEB_YH</author><pubDate>Sat, 27 May 2017 23:11:15 +0800</pubDate><description><![CDATA[function countSort(list){
    var maxlen = Math.max.apply(this,list)+1;//用来获得数组list中最大的数+1
    var len = list.length;//获得list的长度
    var b = new Array(len);//初始化输出数组B，长度与list相同
    var c = new Array(]]></description><category></category></item></channel></rss>