<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wp7021的博客]]></title><description><![CDATA[分享个人学习，工作积累的小知识]]></description><link>https://blog.youkuaiyun.com/wp7021</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wp7021]]></copyright><item><title><![CDATA[ajax相关知识点]]></title><link>https://blog.youkuaiyun.com/wp7021/article/details/79243888</link><guid>https://blog.youkuaiyun.com/wp7021/article/details/79243888</guid><author>wp7021</author><pubDate>Fri, 02 Feb 2018 22:52:17 +0800</pubDate><description><![CDATA[一、完整的url由如下几部分组成：
scheme://host:port/path?query#fragment

scheme: 通信协议，常用的有：http/ftp
host: 主机，服务器（计算机）域名或IP地址
port：端口，整数，可选，省略时使用默认端口，http的默认端口是80
path: 路径，由零或多个“/”符号隔开的字符，一般用来表示主机的一个目录或者文件地址
q]]></description><category></category></item><item><title><![CDATA[源生js封装ajax]]></title><link>https://blog.youkuaiyun.com/wp7021/article/details/79243374</link><guid>https://blog.youkuaiyun.com/wp7021/article/details/79243374</guid><author>wp7021</author><pubDate>Fri, 02 Feb 2018 21:37:09 +0800</pubDate><description><![CDATA[封装源生ajax代码：   var data = {type: "get",url:"",data:null,async:true,success:null,error:null};
   function ajax(data){
//     第一步：创建XMLHttpRequest对象
       var xhr = null;
       if(window.XMLHttpRequest]]></description><category></category></item><item><title><![CDATA[商品放大镜效果]]></title><link>https://blog.youkuaiyun.com/wp7021/article/details/79240488</link><guid>https://blog.youkuaiyun.com/wp7021/article/details/79240488</guid><author>wp7021</author><pubDate>Fri, 02 Feb 2018 16:18:39 +0800</pubDate><description><![CDATA[放大镜效果
    
        * {
            margin: 0;
            padding: 0;
        }
        img {
            vertical-align: top;
        }
        .box {
            width: 350px;
            height: 35]]></description><category></category></item><item><title><![CDATA[JavaScript瀑布流]]></title><link>https://blog.youkuaiyun.com/wp7021/article/details/79238673</link><guid>https://blog.youkuaiyun.com/wp7021/article/details/79238673</guid><author>wp7021</author><pubDate>Fri, 02 Feb 2018 14:33:14 +0800</pubDate><description><![CDATA[js瀑布流原理：
 1、计算一行能放几张图片，假如为num（当前可视区宽度 / 图片宽度（这里图片宽度是规定好的一个固定值，所有图片宽度一样））      
 2、获取一行中最矮的那张图片，让第索引号大于num的图片放到最矮的图片后面
3、当当前可视区域高度加上滚动条滚动高度大于最后一张图片距离顶部的高度时再加载其他图片，其他图片的加载就是重复上面的步骤
具体代码如下：



    
]]></description><category></category></item><item><title><![CDATA[数组常用方法和属性]]></title><link>https://blog.youkuaiyun.com/wp7021/article/details/79222727</link><guid>https://blog.youkuaiyun.com/wp7021/article/details/79222727</guid><author>wp7021</author><pubDate>Wed, 31 Jan 2018 23:12:43 +0800</pubDate><description><![CDATA[数组常用属性和方法
一、常用属性
1、length
使用length 应该注意的问题 （javascript 很容易因为length 的问题导致整个数组的长度修改）
1、对 arr 的length 赋值会导致 arr修改
例：
 var arr1 =  [1,3,5,14,24];
 var arr2 =  [1,3,5,7,9];
 arr1.length = 7
 arr2.len]]></description><category></category></item><item><title><![CDATA[易混淆的几种获取尺寸的方法]]></title><link>https://blog.youkuaiyun.com/wp7021/article/details/79217414</link><guid>https://blog.youkuaiyun.com/wp7021/article/details/79217414</guid><author>wp7021</author><pubDate>Wed, 31 Jan 2018 15:14:48 +0800</pubDate><description><![CDATA[几种容易混淆的关于尺寸的方法
一、offset家族
offset家族是一套方便的获取元素尺寸的方法；
1、offsetWidth  和  offsetHeight
得到对象的宽度和高度(对象自己的，与他人无关)
offsetWidth =  width  + border  +  padding
例：
div {  width:220px;  border-left:2px soli]]></description><category></category></item><item><title><![CDATA[javascript知识碎片]]></title><link>https://blog.youkuaiyun.com/wp7021/article/details/79211842</link><guid>https://blog.youkuaiyun.com/wp7021/article/details/79211842</guid><author>wp7021</author><pubDate>Tue, 30 Jan 2018 22:40:43 +0800</pubDate><description><![CDATA[这里记录下一些js容易忘的知识
1、乘方和开根号
Math.pow(a,b)      →        a的b次方
Math.sqrt(a)          →       a开方



2、用户输入
prompt就是专门用来弹出能够让用户输入的对话框的，但必须要用一个变量来接受用户输入的值
例：
var a = prompt("请输入内容")结果：


3、docu]]></description><category></category></item><item><title><![CDATA[JavaScript的innerWidth与innerHeight]]></title><link>https://blog.youkuaiyun.com/wp7021/article/details/79209908</link><guid>https://blog.youkuaiyun.com/wp7021/article/details/79209908</guid><author>wp7021</author><pubDate>Tue, 30 Jan 2018 19:44:18 +0800</pubDate><description><![CDATA[JavaScript的innerWidth与innerHeight
这两个属性是window对象的只读属性,声明了窗口的文档显示区的高度和宽度，以像素(px)为计量单位。 (注意：这里的宽度和高度不包括菜单栏、工具栏以及滚动条等的高度)
兼容写法：
  function client() {
        if (window.innerWidth != null) {
         ]]></description><category></category></item><item><title><![CDATA[源生js轮播图组件]]></title><link>https://blog.youkuaiyun.com/wp7021/article/details/79205749</link><guid>https://blog.youkuaiyun.com/wp7021/article/details/79205749</guid><author>wp7021</author><pubDate>Tue, 30 Jan 2018 14:34:45 +0800</pubDate><description><![CDATA[原生javascripts 轮播图

一、无缝滚动轮播图



    
    无缝滚动
    
        *{
            margin:0;
            padding:0;
        }
        .box {
            width: 600px;
            height: 200px;
            ]]></description><category></category></item><item><title><![CDATA[浮动元素水平居中方法]]></title><link>https://blog.youkuaiyun.com/wp7021/article/details/79141451</link><guid>https://blog.youkuaiyun.com/wp7021/article/details/79141451</guid><author>wp7021</author><pubDate>Tue, 23 Jan 2018 16:46:48 +0800</pubDate><description><![CDATA[让浮动元素居中很多布局情况下会用得到，这里记录下来
方法一：首先给父元素和子元素都加上相对定位，再让父元素和子元素同时左（右）浮动，父元素相对左（右）移动50%（left：50%），然后子元素相对左（右）移动-50%（left：-50%）），或者子元素相对右（左）移动50%（right：50%）也就可以了
例：
HTML：

    
        左盒子
        中间盒子
  ]]></description><category></category></item><item><title><![CDATA[CSS定位的理解]]></title><link>https://blog.youkuaiyun.com/wp7021/article/details/79094595</link><guid>https://blog.youkuaiyun.com/wp7021/article/details/79094595</guid><author>wp7021</author><pubDate>Thu, 18 Jan 2018 16:01:15 +0800</pubDate><description><![CDATA[CSS定位也就是Position 属性在页面布局中经常会用到，Position 属性值有relative，absolute，fixed，static，inherit其中前三个是主要的，简单的定位应用没什么问题，但是嵌套起来，就会有些混乱，下面具体说说每个值的含义和特点。一、relative用于微调元素位置，让元素相对于自己原来的位置进行位置调整，元素的位置通过 "left", "top", "ri]]></description><category></category></item><item><title><![CDATA[浏览器兼容问题]]></title><link>https://blog.youkuaiyun.com/wp7021/article/details/79090783</link><guid>https://blog.youkuaiyun.com/wp7021/article/details/79090783</guid><author>wp7021</author><pubDate>Wed, 17 Jan 2018 22:37:20 +0800</pubDate><description><![CDATA[所谓的浏览器兼容性问题，是指因为不同的浏览器对同一段代码有不同的解析，造成页面显示效果不统一的情况。在大多数情况下，我们的需求是，无论用户用什么浏览器来查看我们的网站或者登陆我们的系统，都应该是统一的显示效果。所以浏览器的兼容性问题是前端开发人员经常会碰到和必须要解决的问题。一、IE6不支持小于12px的盒子，任何小于12px的盒子，在IE6中看都大解决方法：将盒子的字号，设置小（小于盒子的高），]]></description><category></category></item><item><title><![CDATA[清除浮动的方法]]></title><link>https://blog.youkuaiyun.com/wp7021/article/details/79087682</link><guid>https://blog.youkuaiyun.com/wp7021/article/details/79087682</guid><author>wp7021</author><pubDate>Wed, 17 Jan 2018 18:04:32 +0800</pubDate><description><![CDATA[浮动在页面布局是经常会用到，但是浮动后不做任何清除浮动的处理会带来一系列问题，这里我总结了一些清除浮动的方法
一、给浮动元素的祖先元素设置高度
只要在一个有高度的盒子中浮动，那么这个浮动就不会影响后面的浮动元素，也就清除了浮动带来的影响
例：

    
        html
        css
        js
    


    
        学习方法
       ]]></description><category></category></item><item><title><![CDATA[标准文档流]]></title><link>https://blog.youkuaiyun.com/wp7021/article/details/79087292</link><guid>https://blog.youkuaiyun.com/wp7021/article/details/79087292</guid><author>wp7021</author><pubDate>Wed, 17 Jan 2018 16:48:32 +0800</pubDate><description><![CDATA[一、标准文档流定义
在web页面制作，是个“流”，文档流指的是元素排版布局过程中，元素会自动从左往右，自上而下的流式布局。

二、标准文档流的微观现象：
1、空白折叠现象
     比如，如果我们想让img标签之间没有空隙，必须紧密连接。



2、高矮不齐，底边对齐
3、自动换行，一行写不满，换行写
三、标准文档流等级
标准文档流等级森严，分为两种等级：块级元素和行内元素]]></description><category></category></item><item><title><![CDATA[文档声明类型（DTD）]]></title><link>https://blog.youkuaiyun.com/wp7021/article/details/79083835</link><guid>https://blog.youkuaiyun.com/wp7021/article/details/79083835</guid><author>wp7021</author><pubDate>Wed, 17 Jan 2018 12:19:42 +0800</pubDate><description><![CDATA[一、DTD声明的重要性
      首先我们要知道当你在写一个页面时，文档类型声明是必须的。如果你没有声明文档类型，那么你的HTML将是不合法的，且大部分浏览器会启用“怪异模式”来处理你的页面，也就是浏览器会按照自己的方式去处理你的代码，而不是你想要的方式。另外，DTD声明还关系CSS会以什么模式解析，浏览器解析CSS有两种模式：标准模式（strict mode）和怪异模式（quirks mod]]></description><category></category></item><item><title><![CDATA[meta标签]]></title><link>https://blog.youkuaiyun.com/wp7021/article/details/79067119</link><guid>https://blog.youkuaiyun.com/wp7021/article/details/79067119</guid><author>wp7021</author><pubDate>Mon, 15 Jan 2018 17:48:00 +0800</pubDate><description><![CDATA[对于很多初学者而言，可能对meta标签的作用不是很理解，这里我总结一下我学习过程中对meta标签的理解和总结，希望能帮到更多的和我一样爱学习的人。

一、什么是meta标签？
总的来说meta标签提供关于 HTML 文档的元数据（元数据是关于数据的信息），元数据不会显示在页面上，但是对于机器是可读的。例如meta被用于设置关键字、设置页面描述、设置作者、设置字符集、设置页面定时跳转等等。me]]></description><category></category></item><item><title><![CDATA[前端面试题总结（三）]]></title><link>https://blog.youkuaiyun.com/wp7021/article/details/79065470</link><guid>https://blog.youkuaiyun.com/wp7021/article/details/79065470</guid><author>wp7021</author><pubDate>Mon, 15 Jan 2018 15:53:22 +0800</pubDate><description><![CDATA[1、AMD和CMD是什么？他们的区别是什么？
答：AMD和CMD都是模块定义规范，AMD 是 RequireJS 在推广过程中对模块定义的规范化产，CMD 是 SeaJS 在推广过程中对模块定义的规范化产出。
两者的区别：
1. 对于依赖的模块，AMD 是提前执行，CMD 是延迟执行。不过 RequireJS 从 2.0 开始，也改成可以延迟执行（根据写法不同，处理方式不同）。CMD 推崇 ]]></description><category></category></item><item><title><![CDATA[实现jsonp跨域的方法]]></title><link>https://blog.youkuaiyun.com/wp7021/article/details/79045710</link><guid>https://blog.youkuaiyun.com/wp7021/article/details/79045710</guid><author>wp7021</author><pubDate>Fri, 12 Jan 2018 16:37:59 +0800</pubDate><description><![CDATA[自己手动写一个jsonp跨域的组件

上代码： 

(function (window, document, undefined) {
    // 1、挂载回调函数
    // 2、将data转换为字符串形式
    // 3、处理url中的回调参数
    // 4、创建一个script标签
    // 5、将script标签放到页面中
    var callbackFnName]]></description><category></category></item><item><title><![CDATA[前端面试题总结（二）]]></title><link>https://blog.youkuaiyun.com/wp7021/article/details/79045485</link><guid>https://blog.youkuaiyun.com/wp7021/article/details/79045485</guid><author>wp7021</author><pubDate>Fri, 12 Jan 2018 16:25:03 +0800</pubDate><description><![CDATA[1、统计一个字符串出现最多的字母


  let findMaxDuplicateChar = function(str){
    if(str.lenght === 1){
      return str;
    }
    var charObj = {};
    for(let i=0, len=str.length; i<len; i++){
      if(!charObj]]></description><category></category></item><item><title><![CDATA[前端面试题总结（一）]]></title><link>https://blog.youkuaiyun.com/wp7021/article/details/79043560</link><guid>https://blog.youkuaiyun.com/wp7021/article/details/79043560</guid><author>wp7021</author><pubDate>Fri, 12 Jan 2018 14:22:56 +0800</pubDate><description><![CDATA[本文是根据本人自身参加的一些面试以及平时看到的前端面试题进行的总结：
注：由于没有用手机拍照记录，有些是凭记忆记下来的，可能描述不太准确的地script方敬请谅解

1、请用 javascript 编写“打印出九九乘法表”的逻辑代码


var str=" ";
  for(var i=1;i<=9;i++)
  {
    for(var j=1;j<=i;j++)
    {
   ]]></description><category></category></item></channel></rss>