【发布时间】:2015-08-20 06:04:25
【问题描述】:
当我在 javascript 方法的括号中声明一个变量时,我得到了对函数对象的一个有趣的补充。但是,我实际上无法在函数对象中找到生成的逻辑。
[].forEach(towel = function(){console.log(42)})
console.log(towel) //function forEach.towel()
有人能解释一下这个独特声明背后的逻辑吗?
注意:此评估全部在 Chrome 开发控制台中完成。也许这有助于返回特定的语法?
【问题讨论】:
-
赋值是一个表达式,它的计算结果是一些东西。该示例令人困惑,除非事先使用
var声明了towel,否则它会创建一个隐式全局变量。我不会推荐这个。 -
@elclanrs 为什么
console.log(towel) //function forEach.towel()只是好奇 -
@TributetoAPJKalamSir 因为您正在为函数分配毛巾
-
forEach.部分很有趣,我在 FF 中只得到function ()。 -
FF 似乎总是按我的预期做,我不知道我为什么一直使用 Chrome。
标签: javascript function object methods prototype