240 发简信
IP属地:四川
  • 变量对象就是活动对象(同一个对象引用),变量对象在未激活的时候不能访问(因为没有赋值),激活了就变为活动对象(此时已经赋值,可以引用)。作用域链中保存的是变量对象的引用,既然变量对象已经激活过了当然可以访问到变量对象中的属性,你只是以为误解了‘非活动对象状态不能访问’这句话,这句话只适用于执行上下文刚创建时,创建后,如果有闭包的情况就可以访问,因为已经赋值。

    前端基础进阶(五):闭包

    初学JavaScript时,我在闭包上,走了很多弯路。而这次重新回过头来对基础知识进行梳理,要讲清楚闭包,也是一个非常大的挑战。 闭包有多重要?如果你是初入前端的朋友,我没有...

  • 最后一道经典的面试题有2处疑惑:
    1.题面就是不是应该是 add(1)(2)(3) == 6; add(1, 2, 3)(4) == 10;add(1)(2)(3)(4)(5) == 15; 也就是等于判断,不是赋值操作。
    2.toString 操作如果在没有操作(需要隐形转化)的情况下,该方法是不会调用的。也就是说直接调用 add(1)(2)(3)返回的只是一个方法
    控制台也没有任何值,如果打印(console.log)该调用,不同浏览器打印的结果也是不同,firefox是直接打印对象,chorme打印的是 f 6
    简而言之 直接调用add(1)(2)(3)不会得到6 只有当该调用用作于其他需要类型转化操作(比如疑问1的判断操作)的时候才会得到值
    这也是大多文章没有说清楚 新手迷惑的地方

    详解JS函数柯里化

    第一次看到柯里化这个词的时候,还是在看一篇算法相关的博客提到把函数柯里化,那时一看这个词就感觉很高端,实际上当你了解了后才发现其实就是高阶函数的一个特殊用法。 果然是不管作用...