前几天我在查看“CamanJS”项目时第一次注意到这一点。这个问题很难解释,除非你自己去做。如果您访问 camanjs.com,然后使用 Firebug 或 Chrome JavaScript 控制台,输入单词Caman
并按 Enter。不 Caman()
带括号 - 只是Caman
. 它将输出:Version 4.1.0, Released 2/12/2013
。
但如果你看typeof Caman
,它只是一个“函数”。那么到底如何让它输出这样的自定义字符串,而不实际调用函数呢?这是通过某种prototype
扩展完成的吗?