<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[yCharlee的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/yCharlee</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yCharlee]]></copyright><item><title><![CDATA[js异步编程]]></title><link>https://blog.youkuaiyun.com/yCharlee/article/details/81873771</link><guid>https://blog.youkuaiyun.com/yCharlee/article/details/81873771</guid><author>yCharlee</author><pubDate>Mon, 20 Aug 2018 16:44:56 +0800</pubDate><description><![CDATA[js异步编程



一、概念-什么是异步编程

callback async/await promise generator



说说js是单线程的



为什么是单线程

JavaScript单线程，在同一个时间内只能做一件事。作为浏览器脚本语言，JavaScript的主要用途是与用户互动，以及操作DOM。比如，假定JavaScript同时有两个线程，一个线程在某个DOM节点上添加内容，另一个...]]></description><category></category></item><item><title><![CDATA[js对数组中的对象去重]]></title><link>https://blog.youkuaiyun.com/yCharlee/article/details/80499635</link><guid>https://blog.youkuaiyun.com/yCharlee/article/details/80499635</guid><author>yCharlee</author><pubDate>Tue, 29 May 2018 17:42:58 +0800</pubDate><description><![CDATA[var hash = {};
this.gcpcardList = this.gcpcardList.reduce(function(item, next) {
                hash[next.gcpFeedId] ? '' : hash[next.gcpFeedId] = true &amp;amp;&amp;amp; item.push(next);
                ret...]]></description><category></category></item><item><title><![CDATA[git常用命令——对我很实用]]></title><link>https://blog.youkuaiyun.com/yCharlee/article/details/78115388</link><guid>https://blog.youkuaiyun.com/yCharlee/article/details/78115388</guid><author>yCharlee</author><pubDate>Wed, 27 Sep 2017 17:41:12 +0800</pubDate><description><![CDATA[1、查看git是否安装 
git：（mac如果没有安装可以从app store下载xcode，xcode集成了git）2、创建版本库（仓库、repository） 
git add ：把文件添加到仓库 
git commit：把文件提交到仓库3、一些命令 
git  status:  
查看当前工作区（就是电脑中可以看到的的文件目录）状态信息，可以知道什么文件被修改过git diff:  
查看di]]></description><category></category></item><item><title><![CDATA[transform属性不能同时写scale和rotate，怎么办？？]]></title><link>https://blog.youkuaiyun.com/yCharlee/article/details/78115263</link><guid>https://blog.youkuaiyun.com/yCharlee/article/details/78115263</guid><author>yCharlee</author><pubDate>Wed, 27 Sep 2017 17:31:41 +0800</pubDate><description><![CDATA[<div class="outScale">
     <div class="innerRotate">
          <img  src="" alt="暂无图片"/>
      </div>
</div>当一个图片既要实现旋转需求，又要实现放大需求，但是transform属性不能同时写scale和rotate，这怎么办 
解决方案是： 
在图片外套两层div。 
advice：外层的s]]></description><category></category></item><item><title><![CDATA[javascript之for-in语句 遍历对象属性]]></title><link>https://blog.youkuaiyun.com/yCharlee/article/details/71167132</link><guid>https://blog.youkuaiyun.com/yCharlee/article/details/71167132</guid><author>yCharlee</author><pubDate>Thu, 04 May 2017 12:54:18 +0800</pubDate><description><![CDATA[看到阮大大的教程，看到这样一条语句，var obj = {
  x: 1,
  y: 2
};
var props = [];
var i = 0;for (props[i++] in obj);//这句我就不太理解啦！！props // ['x', 'y']首先，提出问题：for (props[i++] in obj);这句代码啥意思？看到下面的结果，连我智商这么低的人都知道这明显是遍历对象的属性]]></description><category></category></item><item><title><![CDATA[HTML5——visibilitychange 标签可见性]]></title><link>https://blog.youkuaiyun.com/yCharlee/article/details/52756237</link><guid>https://blog.youkuaiyun.com/yCharlee/article/details/52756237</guid><author>yCharlee</author><pubDate>Sat, 08 Oct 2016 14:19:33 +0800</pubDate><description><![CDATA[今天一上午都在看一个童鞋的博客去了，然后发现搞了个这个诶，不不，我没打广告，我不认识这个同学，一言不合就上图———————发现了什么没？ 
图1 
图2 
 
看title啦，之前都没注意到这个，今天偶然发现了，然后一脸懵逼怎么做的啊，搜啊搜 ，在知乎上看到了结果，嘿嘿！ 
原来是html5的visibilitychange，张鑫旭大神写了一篇文章，可以点击这里。 
这判断这个标签是否正被用户浏览，]]></description><category></category></item><item><title><![CDATA[js实现二分查找]]></title><link>https://blog.youkuaiyun.com/yCharlee/article/details/52728530</link><guid>https://blog.youkuaiyun.com/yCharlee/article/details/52728530</guid><author>yCharlee</author><pubDate>Mon, 03 Oct 2016 16:43:23 +0800</pubDate><description><![CDATA[var binarySearch = function(dataArr, target, start, end) {
    var middle;
    //robustness，预防没有指定起始位置
    if (start == null) {
      start = 0;
    }
    if (end == null) {
      end = dataArr.length]]></description><category></category></item><item><title><![CDATA[百度Ueditor传图]]></title><link>https://blog.youkuaiyun.com/yCharlee/article/details/52683385</link><guid>https://blog.youkuaiyun.com/yCharlee/article/details/52683385</guid><author>yCharlee</author><pubDate>Tue, 27 Sep 2016 18:06:49 +0800</pubDate><description><![CDATA[关于UEditor如何自定义按钮，此文就不说了，可以参考  
Ueditor 自定义按钮 
这里写链接内容 
UEditor添加一个普通按钮 
我重点要说一下在编辑器中插图片。在ueditor.all.js中添加如下代码：UE.commands['camnpr'] = {
        execCommand : function(){
            var me = this;]]></description><category></category></item><item><title><![CDATA[简单易懂的JavaScript中闭包的理解]]></title><link>https://blog.youkuaiyun.com/yCharlee/article/details/52672504</link><guid>https://blog.youkuaiyun.com/yCharlee/article/details/52672504</guid><author>yCharlee</author><pubDate>Mon, 26 Sep 2016 17:59:50 +0800</pubDate><description><![CDATA[记得半年前刚学习js的时候，第一次听说闭包也是云里雾里。不知道今天为嘛心血来潮想要写一篇闭包啊，好吧，不装逼了，干正事。 
闭包是有权访问另一个函数作用域中的变量的函数。创建闭包的常见方式是，在一个函数内部创建另一个函数，当前作用域总是能够访问外部作用域中的变量。 
首先，先看看下面代码：for (var i=0;i<10;i++){
        setTimeout(function(){]]></description><category></category></item><item><title><![CDATA[面试题：十大经典算法总结(Javascript描述)]]></title><link>https://blog.youkuaiyun.com/yCharlee/article/details/52649391</link><guid>https://blog.youkuaiyun.com/yCharlee/article/details/52649391</guid><author>yCharlee</author><pubDate>Sat, 24 Sep 2016 11:32:07 +0800</pubDate><description><![CDATA[十大经典算法总结(Javascript描述) 
应该是个96年的孩子写的，95的我要努力哦]]></description><category></category></item><item><title><![CDATA[Webpack傻瓜入门指南]]></title><link>https://blog.youkuaiyun.com/yCharlee/article/details/52644494</link><guid>https://blog.youkuaiyun.com/yCharlee/article/details/52644494</guid><author>yCharlee</author><pubDate>Fri, 23 Sep 2016 22:47:46 +0800</pubDate><description><![CDATA[Webpack傻瓜式指南 
这个写的好啊，师傅推荐的，安利安利！ 
试着敲一下：var webpack = require('webpack');
module.exports = {
    entry: './src/main',
    output: {
        path: './dist',
        publicPath: '/dist/',
        filenam]]></description><category></category></item><item><title><![CDATA[Vue.js 中 v-if 和 v-show 的区别]]></title><link>https://blog.youkuaiyun.com/yCharlee/article/details/52620976</link><guid>https://blog.youkuaiyun.com/yCharlee/article/details/52620976</guid><author>yCharlee</author><pubDate>Thu, 22 Sep 2016 11:24:18 +0800</pubDate><description><![CDATA[开始第一个MVVM框架啦，激动啊，哈哈 
因为Vue.js还比较新，感觉网上的资源不是特别特别多，加了两个QQ群，有问题的时候问问群友，居然还要付费加群，整的我也想去搞一个诶，嘻嘻嘻…… 
今天聊一下，Vue.js 中 v-if 和 v-show 的区别。 
官网是这样说的：在切换 v-if 块时，Vue.js 有一个局部编译/卸载过程，因为 v-if 之中的模板也可能包括数据绑定或子组件。v-if]]></description><category></category></item><item><title><![CDATA[JavaScript对象、函数、数组、类型等（干货）]]></title><link>https://blog.youkuaiyun.com/yCharlee/article/details/52585448</link><guid>https://blog.youkuaiyun.com/yCharlee/article/details/52585448</guid><author>yCharlee</author><pubDate>Mon, 19 Sep 2016 14:21:41 +0800</pubDate><description><![CDATA[JavaScript对象、函数、数组、类型等（干货）]]></description><category></category></item><item><title><![CDATA[实现一个函数clone，可以对JavaScript中的5种主要的数据类型（包括Number、String、Object、Array、Boolean）进行值复制。]]></title><link>https://blog.youkuaiyun.com/yCharlee/article/details/52583836</link><guid>https://blog.youkuaiyun.com/yCharlee/article/details/52583836</guid><author>yCharlee</author><pubDate>Mon, 19 Sep 2016 10:57:18 +0800</pubDate><description><![CDATA[呵呵，你就说是不是面试题笔试题常见它，掌握它就像看到男神一样激动？oops，我喜欢美女~ 
~]]></description><category></category></item><item><title><![CDATA[JavaScript——你理解的js基础是啥(JavaScript（核心、BOM、DOM）)]]></title><link>https://blog.youkuaiyun.com/yCharlee/article/details/52583563</link><guid>https://blog.youkuaiyun.com/yCharlee/article/details/52583563</guid><author>yCharlee</author><pubDate>Mon, 19 Sep 2016 10:34:57 +0800</pubDate><description><![CDATA[面试的时候，面试官问了一个问题：你理解的js基础是啥，当时我一脸蒙蔽，最开始想把js高程的目录给巴拉巴拉一遍，好在没傻…黑，有点尴尬。 
虽然JavaScript和ECMAScript通常都用来表达相同的意思，但是JavaScript的含义比ECMA－262中规定的多得多，一个完整的JavaScript实现由下列三个不同部分组成：( 装逼自己做了一个图，无颜值图==‘) 
补充：看到这篇文章，窃以为]]></description><category></category></item><item><title><![CDATA[排序之快速排序（quickSort）]]></title><link>https://blog.youkuaiyun.com/yCharlee/article/details/52583387</link><guid>https://blog.youkuaiyun.com/yCharlee/article/details/52583387</guid><author>yCharlee</author><pubDate>Mon, 19 Sep 2016 10:19:58 +0800</pubDate><description><![CDATA[先看下这个，渣渣感觉很酷炫 
阮大大啊，每个算法都出一篇文章吧 
快速排序（Quicksort）的Javascript实现]]></description><category></category></item><item><title><![CDATA[CSS元素隐藏、display:none和visibility:hidden、height:0和overflow:hidden的组合]]></title><link>https://blog.youkuaiyun.com/yCharlee/article/details/52566948</link><guid>https://blog.youkuaiyun.com/yCharlee/article/details/52566948</guid><author>yCharlee</author><pubDate>Sat, 17 Sep 2016 23:31:08 +0800</pubDate><description><![CDATA[http://www.zhangxinxu.com/wordpress/2012/02/css-overflow-hidden-visibility-hidden-disabled-use/ 
哎呦不错哦 张哥家的偷来的 ，哈哈～，给个传送门]]></description><category></category></item><item><title><![CDATA[js事件 封装方法（添加事件、删除事件、阻止冒泡、阻止默认行为）]]></title><link>https://blog.youkuaiyun.com/yCharlee/article/details/52566818</link><guid>https://blog.youkuaiyun.com/yCharlee/article/details/52566818</guid><author>yCharlee</author><pubDate>Sat, 17 Sep 2016 23:13:25 +0800</pubDate><description><![CDATA[var eventUtil={
            // 添加句柄
            addHandler:function(element,type,handler){
               if(element.addEventListener){
                 element.addEventListener(type,handler,false);]]></description><category></category></item><item><title><![CDATA[javascript——创建对象的几种方式]]></title><link>https://blog.youkuaiyun.com/yCharlee/article/details/52441231</link><guid>https://blog.youkuaiyun.com/yCharlee/article/details/52441231</guid><author>yCharlee</author><pubDate>Mon, 05 Sep 2016 16:22:41 +0800</pubDate><description><![CDATA[又打开js高程了，为啥有一种严肃的心情捏？！今天看了创建对象这一节，写些笔记，巩固一下。 
我们知道，想要操作这些对象，首先你得有对象，对象哪里找？当然是自己创建呗！ 
说一下比较常用的几种创建对象的方式。 
1、字面量 var obj1={x:1,y:2};
 var obj2={
     x:1,
     y:2,
     z:{
       a:1,
       b:2
     }]]></description><category></category></item><item><title><![CDATA[js严格模式——arguments变为参数的静态副本]]></title><link>https://blog.youkuaiyun.com/yCharlee/article/details/52439973</link><guid>https://blog.youkuaiyun.com/yCharlee/article/details/52439973</guid><author>yCharlee</author><pubDate>Mon, 05 Sep 2016 14:31:33 +0800</pubDate><description><![CDATA[show  u  the  code ! //一般模式
  ! function (a){
    arguments[0]=100;
    console.log(a);//undefined
  }();
  ! function (b){
    arguments[0]=100;
    console.log(b);//100
  }(1);
  ! function (c){]]></description><category></category></item></channel></rss>