最后一道经典的面试题有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的判断操作)的时候才会得到值
这也是大多文章没有说清楚 新手迷惑的地方
IP属地:广东