<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[luozc_web的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/l505_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; l505_]]></copyright><item><title><![CDATA[require.js shim 配置]]></title><link>https://blog.youkuaiyun.com/l505_/article/details/75208599</link><guid>https://blog.youkuaiyun.com/l505_/article/details/75208599</guid><author>l505_</author><pubDate>Sun, 16 Jul 2017 18:01:45 +0800</pubDate><description><![CDATA[require.config的参数配置原因：理论上，require.js加载的模块，必须是按照AMD规范、用define()函数定义的模块。但是实际上，虽然已经有一部分流行的函数库（比如jQuery）符合AMD规范，更多的库并不符合。那么，require.js是否能够加载非规范的模块呢？回答是可以的。这样的模块在用require()加载之前，要先用require.config()方法，定义它们的一些]]></description><category></category></item><item><title><![CDATA[BSON与JSON的区别]]></title><link>https://blog.youkuaiyun.com/l505_/article/details/73325438</link><guid>https://blog.youkuaiyun.com/l505_/article/details/73325438</guid><author>l505_</author><pubDate>Fri, 16 Jun 2017 11:19:06 +0800</pubDate><description><![CDATA[BSON是由10gen开发的一个数据格式，目前主要用于MongoDB中，是mongodb的数据存储格式。BSON基于JSON格式，选择JSON进行改造的原因主要是JSON的通用性及JSON的schemaless的特性。BSON主要会实现以下三点目标：1.更快的遍历速度 
对JSON格式来说，太大的JSON结构会导致数据遍历非常慢。在JSON中，要跳过一个文档进行数据读取，需要对此文档进行扫描才行，需]]></description><category></category></item><item><title><![CDATA[Lazyman]]></title><link>https://blog.youkuaiyun.com/l505_/article/details/72621138</link><guid>https://blog.youkuaiyun.com/l505_/article/details/72621138</guid><author>l505_</author><pubDate>Mon, 22 May 2017 09:17:43 +0800</pubDate><description><![CDATA[实现一个LazyMan，可以按照以下方式调用: 
LazyMan(“Hank”)输出: 
Hi! This is Hank!LazyMan(“Hank”).sleep(10).eat(“dinner”)输出 
Hi! This is Hank! 
//等待10秒.. 
Wake up after 10 
Eat dinner~LazyMan(“Hank”).eat(“dinner”).eat(“su]]></description><category></category></item><item><title><![CDATA[DOM的高级应用-------关于Ul中的 li 的排序]]></title><link>https://blog.youkuaiyun.com/l505_/article/details/72583007</link><guid>https://blog.youkuaiyun.com/l505_/article/details/72583007</guid><author>l505_</author><pubDate>Sat, 20 May 2017 18:32:38 +0800</pubDate><description><![CDATA[1、排序 
     • 移动Li 
     • 元素排序：转换——排序——插入 
        //父节点.appendChild()的实现，会把这个元素节点从ul里面删除，然后在加入。2、排序的实现代码<!DOCTYPE html>  
<html>      <head>  
        <meta charset="UTF-8">  
        <title>DOM中的UL的排]]></description><category></category></item><item><title><![CDATA[js实现二分查找]]></title><link>https://blog.youkuaiyun.com/l505_/article/details/70198837</link><guid>https://blog.youkuaiyun.com/l505_/article/details/70198837</guid><author>l505_</author><pubDate>Sun, 16 Apr 2017 22:23:51 +0800</pubDate><description><![CDATA[二分查找又称折半查找，优点是比较次数少，查找速度快，平均性能好；其缺点是要求待查表为有序表，且插入删除困难。function binary_search(arr,key){
 var low=0;
 var high=arr.length-1;
 while(low<=high){
     var mid=parseInt((low+high)/2);
     if(arr[mid]==key)]]></description><category></category></item><item><title><![CDATA[js数组方法总结]]></title><link>https://blog.youkuaiyun.com/l505_/article/details/70196172</link><guid>https://blog.youkuaiyun.com/l505_/article/details/70196172</guid><author>l505_</author><pubDate>Sun, 16 Apr 2017 16:24:47 +0800</pubDate><description><![CDATA[方法名
  参数及用法
  返回值
  是否修改原数组  push
  向数组的末尾添加一个或更多元素
  返回新的长度
  是
  pop
  删除数组的最后一个元素
  返回数组的最后一个元素
  是
  shift
  删除数组的第一个元素
  返回数组的第一个元素
  是
  unshift
  向数组的开头添加一个或更多元素
  返回新的长度
  是
  reverse
  颠倒数组中元素]]></description><category></category></item><item><title><![CDATA[js获取css属性中的值]]></title><link>https://blog.youkuaiyun.com/l505_/article/details/70195395</link><guid>https://blog.youkuaiyun.com/l505_/article/details/70195395</guid><author>l505_</author><pubDate>Sun, 16 Apr 2017 14:23:57 +0800</pubDate><description><![CDATA[function getStyle(obj,attr){
   if(obj.currentStyle){    //IE
      return obj.currentStyle[attr];   }
   else{  //FireFox
      return getComputedStyle(obj,false)[attr];
                 //false是一个虚元素]]></description><category></category></item><item><title><![CDATA[js当中对象属性的存储]]></title><link>https://blog.youkuaiyun.com/l505_/article/details/70195204</link><guid>https://blog.youkuaiyun.com/l505_/article/details/70195204</guid><author>l505_</author><pubDate>Sun, 16 Apr 2017 13:50:32 +0800</pubDate><description><![CDATA[对象的内容是由一些存储在特定命名位置的（任意类型的）值组成的，我们称之为属性但是需要强调的一点是，当我们说“内容”时，，似乎在暗示这些值实际上被存储在对象内部，但是这只是它的表现形式。在引擎内部，这些值的存储方式是多种多样的，一般并不会存在对象的容器内部。存储对象容器内部的是这些属性的名称，他们就像指针一样，指向这些真正的存储位置var Person = {
  name:luozc,
  age:]]></description><category></category></item><item><title><![CDATA[二叉树-输出树中从根到每个叶子节点的路径]]></title><link>https://blog.youkuaiyun.com/l505_/article/details/70195021</link><guid>https://blog.youkuaiyun.com/l505_/article/details/70195021</guid><author>l505_</author><pubDate>Sun, 16 Apr 2017 13:17:23 +0800</pubDate><description><![CDATA[void AllPath(Bitree T, Stack &S)//输出二叉树上从根到所有叶子结点的路径
{
  if(T)
  {
    Push(S,T->data);
    if(!T->Left&&!T->Right)//如果左指针和右指针同时为空，才说明该节点为叶子节点
    PrintStack(S);
    else
    {
      AllPath(T->Left,S)]]></description><category></category></item><item><title><![CDATA[Javascript中的apply、call、bind]]></title><link>https://blog.youkuaiyun.com/l505_/article/details/70186151</link><guid>https://blog.youkuaiyun.com/l505_/article/details/70186151</guid><author>l505_</author><pubDate>Sat, 15 Apr 2017 18:50:37 +0800</pubDate><description><![CDATA[apply、call 　　在 javascript 中，call 和 apply 都是为了改变某个函数运行时的上下文而存在的，换句话说，就是为了改变函数体内部 this 的指向。　　JavaScript 的一大特点是，函数存在「定义时上下文」和「运行时上下文」以及「上下文是可以改变的」这样的概念。 
　　function fruits() {}fruits.prototype = {
    col]]></description><category></category></item><item><title><![CDATA[函数柯里化]]></title><link>https://blog.youkuaiyun.com/l505_/article/details/70185705</link><guid>https://blog.youkuaiyun.com/l505_/article/details/70185705</guid><author>l505_</author><pubDate>Sat, 15 Apr 2017 17:28:07 +0800</pubDate><description><![CDATA[含义：柯里化（Currying）是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数，并且返回接受余下的参数且返回结果的新函数的技术。 
   因此柯里化的过程是逐步传参，逐步缩小函数的适用范围，逐步求解的过程。柯里化一个求和函数var add = function (a, b, c) {
    return a+b+c;
};var addCurrying= functio]]></description><category></category></item><item><title><![CDATA[cookies,sessionStorage,localStorage的区别]]></title><link>https://blog.youkuaiyun.com/l505_/article/details/61922579</link><guid>https://blog.youkuaiyun.com/l505_/article/details/61922579</guid><author>l505_</author><pubDate>Mon, 13 Mar 2017 17:29:47 +0800</pubDate><description><![CDATA[（1）存储方式不同 
  cookie数据始终在同源的http请求中携带（即使不需要），而sessionStorage和localStorage不会自动把数据发给服务器仅保存在本地（2）存储大小限制 
  cookie数据不可超过4K，而它两的可以达到5M或更大（3）数据有效期不同 
  sessionStorage仅在当前浏览器窗口关闭前有效，localStorage始终有效，cookie只在设置]]></description><category></category></item><item><title><![CDATA[css3弹性盒模型（Flexbox）]]></title><link>https://blog.youkuaiyun.com/l505_/article/details/61414273</link><guid>https://blog.youkuaiyun.com/l505_/article/details/61414273</guid><author>l505_</author><pubDate>Sat, 11 Mar 2017 10:58:41 +0800</pubDate><description><![CDATA[这几天又看了一遍css3的弹性盒模型，这是一个可以让你告别浮动、完美实现垂直水平居中的新特性。Flexbox是布局模块，而不是一个简单的属性，它包含父元素和子元素的属性。Flexbox布局的主体思想是似的元素可以改变大小以适应可用空间，当可用空间变大，Flex元素将伸展大小以填充可用空间，当Flex元素超出可用空间时将自动缩小。总之，Flex元素是可以让你的布局根据浏览器的大小变化进行自动伸缩。创建]]></description><category></category></item><item><title><![CDATA[JavaScript之删除数组中重复元素的方法]]></title><link>https://blog.youkuaiyun.com/l505_/article/details/60959125</link><guid>https://blog.youkuaiyun.com/l505_/article/details/60959125</guid><author>l505_</author><pubDate>Thu, 09 Mar 2017 14:06:15 +0800</pubDate><description><![CDATA[1.将数组逐个搬到另一个数组中，当遇到重复元素时，不移动，若元素不重复则移动到新数组中function unique(arr){
        var len = arr.length;
        var result = []
        for(var i=0;i<len;i++){
            var flag = true;
            for(var j]]></description><category></category></item><item><title><![CDATA[url中search字符串解析为json对象]]></title><link>https://blog.youkuaiyun.com/l505_/article/details/60958797</link><guid>https://blog.youkuaiyun.com/l505_/article/details/60958797</guid><author>l505_</author><pubDate>Thu, 09 Mar 2017 13:48:42 +0800</pubDate><description><![CDATA[var url = "http://www.taobao.com/index.php?key0=0&key1=1";
        var obj = parseQueryString(url);      
        function parseQueryString(argu){
          var str = argu.split('?')[1];
          var]]></description><category></category></item><item><title><![CDATA[BFC 神奇背后的原理]]></title><link>https://blog.youkuaiyun.com/l505_/article/details/60771380</link><guid>https://blog.youkuaiyun.com/l505_/article/details/60771380</guid><author>l505_</author><pubDate>Tue, 07 Mar 2017 17:35:52 +0800</pubDate><description><![CDATA[一、BFC是什么？ 
在解释 BFC 是什么之前，需要先介绍 Box、Formatting Context的概念。　　Box: CSS布局的基本单位　　Box 是 CSS 布局的对象和基本单位， 直观点来说，就是一个页面是由很多个 Box 组成的。元素的类型和 display 属性，决定了这个 Box 的类型。 不同类型的 Box， 会参与不同的 Formatting Context（一个决定如何渲]]></description><category></category></item><item><title><![CDATA[web攻防之SQL注入、XSS、CSRF]]></title><link>https://blog.youkuaiyun.com/l505_/article/details/60465902</link><guid>https://blog.youkuaiyun.com/l505_/article/details/60465902</guid><author>l505_</author><pubDate>Sun, 05 Mar 2017 11:42:40 +0800</pubDate><description><![CDATA[1.SQL注入 
SQL注入式攻击，就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串，欺骗服务器执行恶意的SQL命令。 攻击者通过在应用程序预先定义好的SQL语句结尾加上额外的SQL语句元素，欺骗数据库服务器执行非授权的查询,篡改命令。　　它能够轻易的绕过防火墙直接访问数据库，甚至能够获得数据库所在的服务器的系统权限。在Web应用漏洞中，SQL Injection 漏洞的风险要高]]></description><category></category></item><item><title><![CDATA[js中的事件委托]]></title><link>https://blog.youkuaiyun.com/l505_/article/details/53613191</link><guid>https://blog.youkuaiyun.com/l505_/article/details/53613191</guid><author>l505_</author><pubDate>Tue, 13 Dec 2016 21:02:33 +0800</pubDate><description><![CDATA[原理：事件委托，从名字上就能理解，就是自己的事情交给别人去做（将事件委托给别人） 
实现方法：onclick,onmouseover,onmouseout等就是事件。委托，就是让别人来做。利用冒泡的原理，把事件加到父级上，触发执行效果。假设我们有一个父元素div，里面有很多子元素，但我们关心的是里面的一个带有”classA” CSS类的A标记：// 获得父元素DIV, 添加监听器...
docume]]></description><category></category></item><item><title><![CDATA[圣杯布局（双飞翼布局）]]></title><link>https://blog.youkuaiyun.com/l505_/article/details/53612541</link><guid>https://blog.youkuaiyun.com/l505_/article/details/53612541</guid><author>l505_</author><pubDate>Tue, 13 Dec 2016 19:20:12 +0800</pubDate><description><![CDATA[圣杯布局是讨论「三栏液态布局」的实现，它最早出自于谁或许不得而查了。所谓液态布局是相对固态布局而言的，固态布局就是固定值不变的布局，液态就好比在容器里到了一杯水，它可以随着容器宽度的变化而自适应宽度。（说白了，就是三栏布局，两边固定，中间自适应）<div id="header">#header</div><div id="container">
  <div id="center" class="c]]></description><category></category></item><item><title><![CDATA[js字符串反转]]></title><link>https://blog.youkuaiyun.com/l505_/article/details/53585610</link><guid>https://blog.youkuaiyun.com/l505_/article/details/53585610</guid><author>l505_</author><pubDate>Mon, 12 Dec 2016 17:54:19 +0800</pubDate><description><![CDATA[(1)我们都知道数组有一个成员函数reverse()可用来将数组成员进行反转，那么我们可不可以将一个字符串转换为数组，然后对其进行reverse()操作呢？答案当然是可以的。话不多说，见代码：function revStr(str){
    return str.split("") //将字符串转换为字符数组
    .reverse()   //将数组中的字进行倒转 
    .join("")]]></description><category></category></item></channel></rss>