JS

  • 顾名思义

    近日,我又在思考这个问题:**在编程的世界中,如何高效地学习理论知识,应用理论知识来解决实际生产中的问题。**前人的研究已经硕果累累,列举几点如下:

    1. 理论知识往往是抽象的,要多用形象化的思维辅佐思考。
    2. 不要光看书,要多敲几遍demo。
    3. 当碰到实际难题的时候,回过头来看看相应的理论,刻意补足。这样下次就不会再掉到这个坑里了。
    4. 多联想,多与已学到的知识建立有效关联。因为有效关联越多,碰到实际难题的时候,想起对应理论知识的概率才会越大。

    所以,今天我们的目标是:将数组遍历、for...of、Interator接口与迭代器模式这几个概念串联起来,以加强记忆和理解。

    数组遍历

    在ES5中,

  • 之前基于co和ES6的generator确实使异步操作写得更好了#49 ,但是,依然不够优雅。这次使用ES7的async来解决这个问题。通过babel,这个语法已经可以应用在生产环境当中了(已经有人这么干了)。

    demo

    function sleep(timeout) {
      return new Promise((resolve, reject) => {
          setTimeout(function() {
            resolve();
          }, timeout);
    });
    }
    
    (async function (){
      console.log('star
  • 疑问

    最早接触mixin这个概念,是在使用React的时候。那时候对mixin的认知是这样的:“React不同的组件类可能需要相同的功能,比如一样的getDefaultPropscomponentDidMount等。

    我们知道,到处重复地编写同样的代码是不好的。为了将同样的功能添加到多个组件当中,你需要将这些通用的功能包装成一个mixin,然后导入到你的模块中。

    出处: React Mixin 的使用

    那时候我以为mixin是React独创的一个概念,直到后来我在另外的很多资料中也发现mixin的踪影,比如Vue中也有mixin。仔细研究了一番,才猛地发现:原来mixin是一种模式,有着

  • 方便大家查阅,本文已首发在segmentfault社区,已上热门,谢谢大家支持.点我查阅

    你是否在面试中遇到过各种奇葩和比较细节的问题?

    []==[]
    //false
    []==![]
    //true
    {}==!{}
    //false
    {}==![]
    //VM1896:1 Uncaught SyntaxError: Unexpected token ==
    ![]=={}
    //false
    []==!{}
    //true
    undefined==null
    //true

    看了这种题目,是不是想抽面试官几耳光呢?哈哈,是不是看了之后一脸懵逼,两脸茫然呢?心想这什么玩意

    其实这些都是纸老虎,知道原理和转换规则,

  • github源码地址:https://github.com/jawil/GayHub

    Chrome —— GayHub

    一款强大的 GitHub 的 Chrome 扩展 —— GayHub,优化 GitHub 的阅读体验。

    为了进一步提高 GitHub 阅览体验这个小目标 ,让大家更方便的畅游 Github,因此诞生了 GayHub。


    马上使用:

    • Chrome 应用商店 或者 离线下载 或者 下载测试版

    温馨提示

    请自行忽略下面截图书签栏等不健康网站,为了您的健康,请转移你犀利的目光。1024

    主要功能一览:

    • 文件目录树:

    github 插上翅膀,