<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[大董的博客]]></title><description><![CDATA[一直在路上.......]]></description><link>https://blog.youkuaiyun.com/donggx</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; donggx]]></copyright><item><title><![CDATA[前端兼容问题之meta篇]]></title><link>https://blog.youkuaiyun.com/donggx/article/details/80655796</link><guid>https://blog.youkuaiyun.com/donggx/article/details/80655796</guid><author>donggx</author><pubDate>Mon, 11 Jun 2018 18:07:54 +0800</pubDate><description><![CDATA[    之前一直开发移动端，最近项目开始做pc端的业务，项目要求兼容ie8，只能说对于前端开发来说，ie8绝对是一个噩耗，在开发pc端时不可以避免的就是遇到N多兼容性问题。    所谓浏览器兼容性问题，是指因为不同的浏览器对同一段代码有不同的解析，造成页面显示效果不统一的情况。在大多数情况下，我们的需求是，无论用户用什么浏览器来查看我们的网站或者登陆我们的系统，都应该是统一的显示效果。所以浏览器的...]]></description><category></category></item><item><title><![CDATA[angularjs中的$sompile服务]]></title><link>https://blog.youkuaiyun.com/donggx/article/details/76638192</link><guid>https://blog.youkuaiyun.com/donggx/article/details/76638192</guid><author>donggx</author><pubDate>Thu, 03 Aug 2017 17:07:37 +0800</pubDate><description><![CDATA[$compile服务是Angularjs里比较重要但又很少手动调用的服务，通常我们使用的angularjs指令都是angularjs自动编译完成的，但有时我们可能需要手动编译，比如我们需要往现有的DOM结构里添加html代码，增加一列li，这是就需要用到$compile了。
$compile用于编译HTML片段或者DOM，形成模板函数并于scope函数联结。编译就是DOM遍历并匹配指令，执行指令]]></description><category></category></item><item><title><![CDATA[前端处理后台返回带格式的文本之textarea标签使用技巧]]></title><link>https://blog.youkuaiyun.com/donggx/article/details/76628592</link><guid>https://blog.youkuaiyun.com/donggx/article/details/76628592</guid><author>donggx</author><pubDate>Thu, 03 Aug 2017 16:20:49 +0800</pubDate><description><![CDATA[页面的布局排版一般都是前端工程师在页面中使用div、p标签等进行预先的设计排版，但是有时候有些带格式的文本内容是后台返回的，这就需要前端按照后台返回的格式化文本进行展示，如果这个时候还用div、p标签进行内容的包裹，就会使后台返回的文本内容丢失。这时候我们就可以使用textarea标签作为格式文本的内容包裹。
 标签定义一个多行的文本输入控件。但是我们可以利用它的disable和readonly]]></description><category></category></item><item><title><![CDATA[前端面试之两栏布局，左侧固定右侧自适应；三栏布局，左右定宽，中间自适应]]></title><link>https://blog.youkuaiyun.com/donggx/article/details/73181053</link><guid>https://blog.youkuaiyun.com/donggx/article/details/73181053</guid><author>donggx</author><pubDate>Tue, 13 Jun 2017 15:14:36 +0800</pubDate><description><![CDATA[左右布局：左边定宽、右边自适应，
1.1浮动方法，使第一个div浮动起来脱离文档流，下面的div自动向上
先看代码

body{margin:0;} //为了统一布局，去掉了浏览器自带body的margin值
.left{ width:200px; float:left; height:400px;; background:#99F;}
.main{ height:400px; bac]]></description><category></category></item><item><title><![CDATA[前端面试之HTML篇]]></title><link>https://blog.youkuaiyun.com/donggx/article/details/73107726</link><guid>https://blog.youkuaiyun.com/donggx/article/details/73107726</guid><author>donggx</author><pubDate>Mon, 12 Jun 2017 15:11:36 +0800</pubDate><description><![CDATA[1、的作用？
 声明必须是 HTML 文档的第一行，位于  标签之前。
 声明不是 HTML 标签；是一种标准通用标记语言的文档类型声明，它的目的是要告诉标准通用标记语言解析器，它应该使用什么样的文档类型定义(DTD)来解析文档。
在 HTML 4.01 中， 声明引用 DTD，因为 HTML 4.01 基于 SGML。DTD 规定了标记语言的规则，这样浏览器才能正确地呈现内容。
HTML]]></description><category></category></item><item><title><![CDATA[前端跨域访问]]></title><link>https://blog.youkuaiyun.com/donggx/article/details/72885673</link><guid>https://blog.youkuaiyun.com/donggx/article/details/72885673</guid><author>donggx</author><pubDate>Tue, 06 Jun 2017 17:37:41 +0800</pubDate><description><![CDATA[一、同源策略
做过开发的都知道，从A网站通过Ajax来请求另外一个B网站的特定内容，是很常见的需求，但是出于安全的考虑，浏览器是不允许你这样做的，这就是浏览器的同源策略；
何谓同源:
        URL由协议、域名、端口和路径组成，如果两个URL的协议、域名和端口相同，则表示他们同源。
 同源策略:
       同源策略是Web层面上众多安全策略的一个，限制了来自不同源的"docu]]></description><category></category></item><item><title><![CDATA[面试中经常出现的数组去重的一些方法]]></title><link>https://blog.youkuaiyun.com/donggx/article/details/71656997</link><guid>https://blog.youkuaiyun.com/donggx/article/details/71656997</guid><author>donggx</author><pubDate>Thu, 11 May 2017 18:32:14 +0800</pubDate><description><![CDATA[数组去重是笔试中经常见到的题目，方法也很多，下面是我可以想到的一些方法



方法一：新建一个新数组，如果新数组中没有要去重数组中的值就放到新数组中
function
unique1(arr)
{
    var
newArr=[]
    for
(var
i =
0;
i <
arr.length;
i++)
{
        if
(newArr.in]]></description><category></category></item><item><title><![CDATA[TCP三次握手四次挥手]]></title><link>https://blog.youkuaiyun.com/donggx/article/details/71514395</link><guid>https://blog.youkuaiyun.com/donggx/article/details/71514395</guid><author>donggx</author><pubDate>Wed, 10 May 2017 09:37:07 +0800</pubDate><description><![CDATA[1）TCP三次握手

第一次握手：客户端A将标志位SYN置为1,随机产生一个值为seq=J（J的取值范围为=1234567）的数据包到服务器，客户端A进入SYN_SENT状态，等待服务端B确认；

第二次握手：服务端B收到数据包后由标志位SYN=1知道客户端A请求建立连接，服务端B将标志位SYN和ACK都置为1，ack=J+1，随机产生一个值seq=K，并将该数据包发送给客户端A以确认连接]]></description><category></category></item><item><title><![CDATA[前端开发中经常使用到的20个正则表达式]]></title><link>https://blog.youkuaiyun.com/donggx/article/details/71514169</link><guid>https://blog.youkuaiyun.com/donggx/article/details/71514169</guid><author>donggx</author><pubDate>Wed, 10 May 2017 09:13:51 +0800</pubDate><description><![CDATA[1 . 校验密码强度

密码的强度必须是包含大小写字母和数字的组合，不能使用特殊字符，长度在8-10之间。
^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$

2. 校验中文

字符串仅能是中文。
^[\\u4e00-\\u9fa5]{0,}$

3. 由数字、26个英文字母或下划线组成的字符串
^\\w+$

4. 校验E-Mail 地址]]></description><category></category></item><item><title><![CDATA[CSS清除浮动方法]]></title><link>https://blog.youkuaiyun.com/donggx/article/details/71455514</link><guid>https://blog.youkuaiyun.com/donggx/article/details/71455514</guid><author>donggx</author><pubDate>Tue, 09 May 2017 14:27:36 +0800</pubDate><description><![CDATA[什么是CSS清除浮动？
在非IE浏览器（如Firefox）下，当容器的高度为auto，且容器的内容中有浮动（float为left或right）的元素，在这种情况下，容器的高度不能自动伸长以适应内容的高度，使得内容溢出到容器外面而影响（甚至破坏）布局的现象。这个现象叫浮动溢出，为了防止这个现象的出现而进行的CSS处理，就叫CSS清除浮动。

清除浮动方法

方法一：使用带clear属性的空]]></description><category></category></item><item><title><![CDATA[深克隆一个对象]]></title><link>https://blog.youkuaiyun.com/donggx/article/details/71454265</link><guid>https://blog.youkuaiyun.com/donggx/article/details/71454265</guid><author>donggx</author><pubDate>Tue, 09 May 2017 14:06:07 +0800</pubDate><description><![CDATA[1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32



/**
 * 对一个object进行深度拷贝
 *
 * 使用递归来实现一个深度克隆，可以复制一个目标对象，返回一个完整拷贝
 * 被复制的对象类型会被限制为数字、字符串、布尔、日期、数组、Object对象。不会包]]></description><category></category></item><item><title><![CDATA[JS判断数据类型的三种方法]]></title><link>https://blog.youkuaiyun.com/donggx/article/details/71453103</link><guid>https://blog.youkuaiyun.com/donggx/article/details/71453103</guid><author>donggx</author><pubDate>Tue, 09 May 2017 14:01:04 +0800</pubDate><description><![CDATA[JavaScript 中常见的几种数据类型：

基本类型：string,number,boolean

特殊类型：undefined,null

引用类型：Object,Function,Function,Array,Date,...



typeof


typeof 返回一个表示数据类型的字符串，返回结果包括：number、boolean、string、object]]></description><category></category></item><item><title><![CDATA[输入网址到网页显示的过程是什么？]]></title><link>https://blog.youkuaiyun.com/donggx/article/details/71402871</link><guid>https://blog.youkuaiyun.com/donggx/article/details/71402871</guid><author>donggx</author><pubDate>Mon, 08 May 2017 09:18:54 +0800</pubDate><description><![CDATA[从用户输入一个网址到网页最终展现到用户面前，中间的大致流程总结如下：
1) 在客户端浏览器中输入网址URL。
2) 发送到DNS(域名服务器)获得域名对应的WEB服务器的IP地址。
3) 客户端浏览器与WEB服务器建立TCP(传输控制协议)连接。
4) 客户端浏览器向对应IP地址的WEB服务器发送相应的HTTP或HTTPS请求。
5) WEB服务器响应请求，返回指定的URL数据或错误信息]]></description><category></category></item><item><title><![CDATA[angularjs中实现页面加载动效]]></title><link>https://blog.youkuaiyun.com/donggx/article/details/70236816</link><guid>https://blog.youkuaiyun.com/donggx/article/details/70236816</guid><author>donggx</author><pubDate>Wed, 19 Apr 2017 09:37:09 +0800</pubDate><description><![CDATA[在与后台的交互过程中，有可能对在请求和响应过程过发生的问题进行捕获处理（如每次请求数据实现加载动画）。Angular为我们提供了$http拦截器来实现上述需求。
什么是拦截器？


拦截器就是在目标达到目的地之前对其进行处理以便处理结果更加符合我们的预期。Angular的$http拦截器是通过$httpProvider.interceptors数组定义的一组拦截器，每个拦截器都是实现了某些]]></description><category></category></item><item><title><![CDATA[闭包经典面试题]]></title><link>https://blog.youkuaiyun.com/donggx/article/details/70171570</link><guid>https://blog.youkuaiyun.com/donggx/article/details/70171570</guid><author>donggx</author><pubDate>Fri, 14 Apr 2017 14:13:28 +0800</pubDate><description><![CDATA[闭包应该是前段面试中经常碰到的面试题，很多人都会在这个问题上被问住。如果想要弄清楚就要掌握闭包的概念；
首先看面试题：


for (var i = 1; i 

  setTimeout( function timer() {

      console.log(i);

  }, 1000 );

}
上面的代码会输出什么？怎么改动上述代码，使其依次输出1、2、3、]]></description><category></category></item><item><title><![CDATA[浅谈javascript中的call、apply、bind]]></title><link>https://blog.youkuaiyun.com/donggx/article/details/56274530</link><guid>https://blog.youkuaiyun.com/donggx/article/details/56274530</guid><author>donggx</author><pubDate>Tue, 21 Feb 2017 09:17:24 +0800</pubDate><description><![CDATA[apply、call
 
在 javascript 中，call 和 apply 都是为了改变某个函数运行时的上下文（context）而存在的，换句话说，就是为了改变函数体内部 this 的指向。
 
JavaScript 的一大特点是，函数存在「定义时上下文」和「运行时上下文」以及「上下文是可以改变的」这样的概念。
 
先来一个栗子：
 
function fruits() {}]]></description><category></category></item><item><title><![CDATA[css实用技巧之设置元素居中]]></title><link>https://blog.youkuaiyun.com/donggx/article/details/54137456</link><guid>https://blog.youkuaiyun.com/donggx/article/details/54137456</guid><author>donggx</author><pubDate>Fri, 06 Jan 2017 14:15:02 +0800</pubDate><description><![CDATA[CSS居中一直是一个比较敏感的话题，为了以后开发的方便，楼主觉得确实需要总结一下了，总的来说，居中问题分为垂直居中和水平居中，实际上水平居中是很简单的，但垂直居中的方式和方法就千奇百怪了。
内联元素居中
水平居中设置：
行内元素 
设置 text-align:center；
垂直居中设置：
父元素高度确定的单行文本（内联元素）
设置 height = line-height；
父元]]></description><category></category></item><item><title><![CDATA[编写css代码的实用性建议]]></title><link>https://blog.youkuaiyun.com/donggx/article/details/54137357</link><guid>https://blog.youkuaiyun.com/donggx/article/details/54137357</guid><author>donggx</author><pubDate>Fri, 06 Jan 2017 14:08:59 +0800</pubDate><description><![CDATA[Margin Collapse
不同于其他很多属性，盒模型中垂直方向上的Margin会在相遇时发生崩塌，也就是说当某个元素的底部Margin与另一个元素的顶部Margin相邻时，只有二者中的较大值会被保留下来，可以从下面这个简单的例子来学习:




1
2
3
4
5
6
7
8
9
10
11
12
13
14


.square {
    wi]]></description><category></category></item><item><title><![CDATA[css3效果大杂烩]]></title><link>https://blog.youkuaiyun.com/donggx/article/details/54020649</link><guid>https://blog.youkuaiyun.com/donggx/article/details/54020649</guid><author>donggx</author><pubDate>Wed, 04 Jan 2017 16:20:58 +0800</pubDate><description><![CDATA[>  
html>      
head>  
meta charset="utf-8">   
title>菜鸟教程(runoob.com)title>   
style>   
div  
{  
      
    /*颜色渐变的相关知识*/  
    background: -webkit-linear-gradient(red, blue); /* Safari]]></description><category></category></item><item><title><![CDATA[js中的循环语句]]></title><link>https://blog.youkuaiyun.com/donggx/article/details/54020536</link><guid>https://blog.youkuaiyun.com/donggx/article/details/54020536</guid><author>donggx</author><pubDate>Wed, 04 Jan 2017 16:13:41 +0800</pubDate><description><![CDATA[我们在程序中最常见到的就是对数组元素的遍历了，就是我们常说的循环语句。在javascript权威指南中对循环语句的定义是程序路径的一个回路，可以让一部分代码重复执行。Javascript中有4种循环语句：
·for - 循环代码块一定的次数
·for/in - 循环遍历对象的属性
·while - 当指定的条件为 true
时循环指定的代码块
·do/while - 同样当指定的条件为 ]]></description><category></category></item></channel></rss>