<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[kimihiro_41的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/kimihiro_41</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; kimihiro_41]]></copyright><item><title><![CDATA[解构、参数默认值，不定参数，拓展参数、for of 值遍历]]></title><link>https://blog.youkuaiyun.com/kimihiro_41/article/details/73864778</link><guid>https://blog.youkuaiyun.com/kimihiro_41/article/details/73864778</guid><author>kimihiro_41</author><pubDate>Wed, 28 Jun 2017 22:38:56 +0800</pubDate><description><![CDATA[解构 
自动解析数组或对象中的值。比如若一个函数要返回多个值，常规的做法是返回一个对象，将每个值做为这个对象的属性返回。但在ES6中，利用解构这一特性，可以直接返回一个数组，然后数组中的值会自动被解析到对应接收该值的变量中。var [x,y]=getVal(),//函数返回值的解构
    [name,,age]=['wayou','male','secrect'];//数组解构function g]]></description><category></category></item><item><title><![CDATA[字符串模板]]></title><link>https://blog.youkuaiyun.com/kimihiro_41/article/details/73864725</link><guid>https://blog.youkuaiyun.com/kimihiro_41/article/details/73864725</guid><author>kimihiro_41</author><pubDate>Wed, 28 Jun 2017 22:31:26 +0800</pubDate><description><![CDATA[这个东西也是非常有用，当我们要插入大段的html内容到文档中时，传统的写法非常麻烦，所以之前我们通常会引用一些模板工具库，比如mustache等等。大家可以先看下面一段代码：$("#result").append(
  "There are <b>" + basket.count + "</b> " +
  "items in your basket, " +
  "<em>" + basket.o]]></description><category></category></item><item><title><![CDATA[arrow function]]></title><link>https://blog.youkuaiyun.com/kimihiro_41/article/details/73864714</link><guid>https://blog.youkuaiyun.com/kimihiro_41/article/details/73864714</guid><author>kimihiro_41</author><pubDate>Wed, 28 Jun 2017 22:29:54 +0800</pubDate><description><![CDATA[这个恐怕是ES6最最常用的一个新特性了，用它来写function比原来的写法要简洁清晰很多:function(i){ return i + 1; } //ES5
(i) => i + 1 //ES6简直是简单的不像话对吧… 
如果方程比较复杂，则需要用{}把代码包起来：function(x, y) { 
    x++;
    y--;
    return x + y;
}
(x, y) =>]]></description><category></category></item><item><title><![CDATA[class, extends, super]]></title><link>https://blog.youkuaiyun.com/kimihiro_41/article/details/73864683</link><guid>https://blog.youkuaiyun.com/kimihiro_41/article/details/73864683</guid><author>kimihiro_41</author><pubDate>Wed, 28 Jun 2017 22:26:18 +0800</pubDate><description><![CDATA[这三个特性涉及了ES5中最令人头疼的的几个部分：原型、构造函数，继承…你还在为它们复杂难懂的语法而烦恼吗？你还在为指针到底指向哪里而纠结万分吗？有了ES6我们不再烦恼！ES6提供了更接近传统语言的写法，引入了Class（类）这个概念。新的class写法让对象原型的写法更加清晰、更像面向对象编程的语法，也更加通俗易懂。class Animal {
    constructor(){]]></description><category></category></item><item><title><![CDATA[let, const]]></title><link>https://blog.youkuaiyun.com/kimihiro_41/article/details/73864657</link><guid>https://blog.youkuaiyun.com/kimihiro_41/article/details/73864657</guid><author>kimihiro_41</author><pubDate>Wed, 28 Jun 2017 22:23:00 +0800</pubDate><description><![CDATA[这两个的用途与var类似，都是用来声明变量的，但在实际运用中他俩都有各自的特殊用途。 
首先来看下面这个例子：var name = 'zach'while (true) {
    var name = 'obama'
    console.log(name)  //obama
    break
}console.log(name)  //obama使用var两次输出都是obama，这是因为ES]]></description><category></category></item><item><title><![CDATA[es6-Proxy]]></title><link>https://blog.youkuaiyun.com/kimihiro_41/article/details/73864016</link><guid>https://blog.youkuaiyun.com/kimihiro_41/article/details/73864016</guid><author>kimihiro_41</author><pubDate>Wed, 28 Jun 2017 21:09:37 +0800</pubDate><description><![CDATA[Proxy可以监听对象身上发生了什么事情，并在这些事情发生后执行一些相应的操作。一下子让我们对一个对象有了很强的追踪能力，同时在数据绑定方面也很有用处。//定义被侦听的目标对象
var engineer = { name: 'Joe Sixpack', salary: 50 };
//定义处理程序
var interceptor = {
  set: function (receiver, prop]]></description><category></category></item><item><title><![CDATA[es6新特性-Set和Map数据结构]]></title><link>https://blog.youkuaiyun.com/kimihiro_41/article/details/73863942</link><guid>https://blog.youkuaiyun.com/kimihiro_41/article/details/73863942</guid><author>kimihiro_41</author><pubDate>Wed, 28 Jun 2017 20:57:35 +0800</pubDate><description><![CDATA[Set和Map数据结构 
Set 本身是一个构造函数，用来生成 Set 数据结构。Set 结构不会添加重复的值。 
Set 函数可以接受一个数组（或类似数组的对象）作为参数，用来初始化。// 例一
const set = new Set([1, 2, 3, 4, 4]);
[...set]
// [1, 2, 3, 4]// 例二
const items = new Set([1, 2, 3, 4,]]></description><category></category></item><item><title><![CDATA[JavaScript中定义类或对象]]></title><link>https://blog.youkuaiyun.com/kimihiro_41/article/details/73824384</link><guid>https://blog.youkuaiyun.com/kimihiro_41/article/details/73824384</guid><author>kimihiro_41</author><pubDate>Tue, 27 Jun 2017 22:22:14 +0800</pubDate><description><![CDATA[（1）工厂方式 
（2）构造函数方式 
（3）原型方式 
（4）混合的构造函数/原型方式 
（5）动态原型方法（1）工厂方式 
原始的方式var oCar = new Object;
oCar.color = "blue";
oCar.doors = 4;
oCar.mpg = 25;
oCar.showColor = function() {
  alert(this.color);
};在上面的]]></description><category></category></item><item><title><![CDATA[jQuery 中的proxy（）和delegation（）方法]]></title><link>https://blog.youkuaiyun.com/kimihiro_41/article/details/73824082</link><guid>https://blog.youkuaiyun.com/kimihiro_41/article/details/73824082</guid><author>kimihiro_41</author><pubDate>Tue, 27 Jun 2017 21:50:55 +0800</pubDate><description><![CDATA[jquery中proxy和delegation的区别: 
proxy就是为一个函数绑定一个context; 
delegate是通过将事件绑定到父元素上，然后在事件处理器运行时判断子元素来决定是否运行。proxy()方法 
在某些情况下，我们调用Javascript函数时候，this指针并不一定是我们所期望的那个。例如：//正常的this使用
$('#myElement').click(functi]]></description><category></category></item><item><title><![CDATA[AngularJS: Factory vs Service vs Provider]]></title><link>https://blog.youkuaiyun.com/kimihiro_41/article/details/73823717</link><guid>https://blog.youkuaiyun.com/kimihiro_41/article/details/73823717</guid><author>kimihiro_41</author><pubDate>Tue, 27 Jun 2017 21:07:31 +0800</pubDate><description><![CDATA[引言 
看了很多文章可能还是不太说得出AngularJS中的几个创建供应商(provider)的方法(factory(),service(),provider())到底有啥区别，啥时候该用啥，之前一直傻傻分不清楚，现在来总结一下。下文中泛指统一用中文，英文即为特指$provide方法中对应方法创建出的东东供应商==>泛指provider 
服务==>泛指serviceprovider==>provi]]></description><category></category></item><item><title><![CDATA[Symmetric Difference]]></title><link>https://blog.youkuaiyun.com/kimihiro_41/article/details/73823462</link><guid>https://blog.youkuaiyun.com/kimihiro_41/article/details/73823462</guid><author>kimihiro_41</author><pubDate>Tue, 27 Jun 2017 20:34:46 +0800</pubDate><description><![CDATA[创建一个函数，接受两个或多个数组，返回所给数组的 对等差分(symmetric difference) (△ or ⊕)数组.给出两个集合 (如集合 A = {1, 2, 3} 和集合 B = {2, 3, 4}), 而数学术语 “对等差分” 的集合就是指由所有只在两个集合其中之一的元素组成的集合(A △ B = C = {1, 4}). 对于传入的额外集合 (如 D = {2, 3}), 你应该安]]></description><category></category></item><item><title><![CDATA[Validate US Telephone Numbers]]></title><link>https://blog.youkuaiyun.com/kimihiro_41/article/details/73742353</link><guid>https://blog.youkuaiyun.com/kimihiro_41/article/details/73742353</guid><author>kimihiro_41</author><pubDate>Mon, 26 Jun 2017 17:44:14 +0800</pubDate><description><![CDATA[如果传入字符串是一个有效的美国电话号码，则返回 true.用户可以在表单中填入一个任意有效美国电话号码. 下面是一些有效号码的例子(还有下面测试时用到的一些变体写法):555-555-5555 
(555)555-5555 
(555) 555-5555 
555 555 5555 
5555555555 
1 555 555 5555在本节中你会看见如 800-692-7753 or 8oo-si]]></description><category></category></item><item><title><![CDATA[Arguments Optional]]></title><link>https://blog.youkuaiyun.com/kimihiro_41/article/details/73740699</link><guid>https://blog.youkuaiyun.com/kimihiro_41/article/details/73740699</guid><author>kimihiro_41</author><pubDate>Mon, 26 Jun 2017 15:42:10 +0800</pubDate><description><![CDATA[创建一个计算两个参数之和的 function。如果只有一个参数，则返回一个 function，该 function 请求一个参数然后返回求和的结果。例如，add(2, 3) 应该返回 5，而 add(2) 应该返回一个 function。调用这个有一个参数的返回的 function，返回求和的结果：var sumTwoAnd = add(2);sumTwoAnd(3) 返回 5。如果两个参数都不是有]]></description><category></category></item><item><title><![CDATA[传入二进制字符串，翻译成英语句子并返回]]></title><link>https://blog.youkuaiyun.com/kimihiro_41/article/details/73740447</link><guid>https://blog.youkuaiyun.com/kimihiro_41/article/details/73740447</guid><author>kimihiro_41</author><pubDate>Mon, 26 Jun 2017 15:22:39 +0800</pubDate><description><![CDATA[传入二进制字符串，翻译成英语句子并返回。二进制字符串是以空格分隔的。function binaryAgent(str) {
 //将二进制串str用空格分割成数组code
  var code=str.split(' ');
  //保存最终字符串数组
  var result='';
  for(var i=0;i<code.length;i++){
    //将数组code[i]中二进制数通过]]></description><category></category></item><item><title><![CDATA[对嵌套的数组进行扁平化处理]]></title><link>https://blog.youkuaiyun.com/kimihiro_41/article/details/73740283</link><guid>https://blog.youkuaiyun.com/kimihiro_41/article/details/73740283</guid><author>kimihiro_41</author><pubDate>Mon, 26 Jun 2017 15:13:36 +0800</pubDate><description><![CDATA[对嵌套的数组进行扁平化处理。你必须考虑到不同层级的嵌套。思路Array.isArray(value) 可以用来判断某个值是否为数组，是则返回 true ，不是返回 false 。因为需要解决层级嵌套的问题，所以本题用递归来解决。遍历 arr 的每一项，如果该项为数组，则重复调用本函数，如果不是数组，则将这一项推入结果集中。function steamroller(arr) {
  var resul]]></description><category></category></item><item><title><![CDATA[删除数组中不符合条件的元素]]></title><link>https://blog.youkuaiyun.com/kimihiro_41/article/details/73740200</link><guid>https://blog.youkuaiyun.com/kimihiro_41/article/details/73740200</guid><author>kimihiro_41</author><pubDate>Mon, 26 Jun 2017 15:06:52 +0800</pubDate><description><![CDATA[让我们来丢弃数组(arr)的元素，从左边开始，直到回调函数return true就停止。第二个参数，func，是一个函数。用来测试数组的第一个元素，如果返回fasle，就从数组中抛出该元素(注意：此时数组已被改变)，继续测试数组的第一个元素，如果返回fasle，继续抛出，直到返回true。最后返回数组的剩余部分，如果没有剩余，就返回一个空数组。思路用 while() 循环，当 func(arr[0]]]></description><category></category></item><item><title><![CDATA[求能被两个给定参数和它们之间的连续数字整除的最小公倍数]]></title><link>https://blog.youkuaiyun.com/kimihiro_41/article/details/73740067</link><guid>https://blog.youkuaiyun.com/kimihiro_41/article/details/73740067</guid><author>kimihiro_41</author><pubDate>Mon, 26 Jun 2017 14:57:32 +0800</pubDate><description><![CDATA[找出能被两个给定参数和它们之间的连续数字整除的最小公倍数。范围是两个数字构成的数组，两个数字不一定按数字顺序排序。例如对 1 和 3 —— 找出能被 1 和 3 和它们之间所有数字整除的最小公倍数。注意：  
这里涉及到经典算法：求最大公约数gcd（greatest common divisor）和最小公倍数scm（smallest common multiple）  
gcd（最大公约数）算法过程]]></description><category></category></item><item><title><![CDATA[求小于等于给定数值的质数之和]]></title><link>https://blog.youkuaiyun.com/kimihiro_41/article/details/73739864</link><guid>https://blog.youkuaiyun.com/kimihiro_41/article/details/73739864</guid><author>kimihiro_41</author><pubDate>Mon, 26 Jun 2017 14:40:20 +0800</pubDate><description><![CDATA[求小于等于给定数值的质数之和。只有 1 和它本身两个约数的数叫质数。例如，2 是质数，因为它只能被 1 和 2 整除。1 不是质数，因为它只能被自身整除。给定的数不一定是质数。function sumPrimes(num) {
  var sum=0;
      for (var i = 2; i <= num; i++) {
          var isPrimes=true;]]></description><category></category></item><item><title><![CDATA[给一个正整数num，返回小于或等于num的斐波纳契奇数之和]]></title><link>https://blog.youkuaiyun.com/kimihiro_41/article/details/73739446</link><guid>https://blog.youkuaiyun.com/kimihiro_41/article/details/73739446</guid><author>kimihiro_41</author><pubDate>Mon, 26 Jun 2017 14:07:59 +0800</pubDate><description><![CDATA[给一个正整数num，返回小于或等于num的斐波纳契奇数之和。斐波纳契数列中的前几个数字是 1、1、2、3、5 和 8，随后的每一个数字都是前两个数字之和。 
提示：此题不能用递归来实现斐波纳契数列。因为当num较大时，内存会溢出。function sumFibs(num) {
   var a=0,b=0,c=1,sum=0;
    for(var i=0;c<=num;i++){
     su]]></description><category></category></item><item><title><![CDATA[将字符串转换为以-连接的全小写单词]]></title><link>https://blog.youkuaiyun.com/kimihiro_41/article/details/73739300</link><guid>https://blog.youkuaiyun.com/kimihiro_41/article/details/73739300</guid><author>kimihiro_41</author><pubDate>Mon, 26 Jun 2017 13:58:49 +0800</pubDate><description><![CDATA[将字符串转换为 spinal case。Spinal case 是 all-lowercase-words-joined-by-dashes 这种形式的，也就是以连字符连接所有小写单词。spinalCase(“This Is Spinal Tap”) 应该返回 “this-is-spinal-tap”。 
spinalCase(“thisIsSpinalTap”) 应该返回 “this-is-spi]]></description><category></category></item></channel></rss>