【发布时间】:2011-10-17 17:46:34
【问题描述】:
最近我成为了function.name 属性的忠实粉丝。
例如,我编写了一个用于扩展原型的函数。
它的工作原理是……
Array.give(
function forEach() { ... }
);
..这会让你做..
['a', 'b', 'c'].forEach(function () { ... });
此代码在 Chrome、Safari、Firefox 和 Opera 中运行良好,但在 IE 中不适用。
经过一点点挖掘,我意识到对于 give 函数,function.name 只是返回 undefined,而在其他所有内容中它都返回 "forEach"。
是否有其他方法可以在 IE 中获取名称,或者我应该对这个美妙的属性失去兴趣?
【问题讨论】:
-
什么是
.give()?你在哪里使用function.name? -
如果没关系那你为什么要用它作为样本呢? (@patrick 我猜也一样,但我对实现很感兴趣。另外,我很确定
function.name根本没有必要) -
@Tomalak 显示
function.name的用例。我如何在内部使用function.name几乎无关紧要。如果您只是对它的代码感兴趣,我很乐意将其提供给您,但我认为当人们在 cmets 中提问时,它是为了帮助提供答案,所以如果我可以阻止人们提供通过不回答他们的问题来回答无关紧要的答案,那么我会的。不,没有必要,只是非常方便。 -
@tylermwashburn 我认为不要把每一条评论都看在表面上是件好事。特别是如果它是来自高级用户的看似毫无意义的 cmets。 a) 你可能没有你想的那么清楚。 b) 编程至少与 “我为什么要这样做” 和 “我怎样才能这样做” 相同。 c) 提出问题时,说明您的意图是您工作的一部分。完全拒绝表明自己的意图是粗鲁的(至少我是这么认为的)。
标签: javascript