传统语言如C和Java中,函数/方法不能作为变量/属性/参数/返回值使用,只有声明和调用(立即执行)两种方式,只能将立即执行的结果作变量/属性/参数/返回值使用。

闭包:

  1. 函数本身作为变量/属性/参数/返回值使用;

  2. 基于1,闭包可延迟执行,而不像传统语言必须立即执行;

  3. 闭包在作为变量/属性/参数/返回值使用时,能捕获外层作用域的变量,在执行时使用这些值;

  4. 可在JavaScript中实现类似Java的私有变量的形式(参考链接)。

箭头函数:首先是语法更加简化的匿名函数,其次this指向定义时的词法作用域,从而修复了JavaScript中传统函数this指向混乱的问题

results matching ""

    No results matching ""