【发布时间】:2011-05-01 15:18:55
【问题描述】:
我看到我可以从 JavaScript 中的同一个函数返回不同的类型。这种做法是惯用的还是应该不鼓励?
例如:
somefn = function(e) {
switch (e.type)
{
case 'mousedown':
return false;
case 'mousemove':
return {x:10, y:20};
}
};
【问题讨论】:
-
2 票接近,2 票赞成 qn :-) .. 我提到我是这门语言的新手,我知道的所有其他语言都不允许它..
-
这是惯用的,从某种意义上说它是“不被禁止的”,因为“函数”对象既没有输入也没有输出类型强制,留给程序员来决定。 “return”语句可以返回任何类型的对象,包括函数,甚至什么也不返回。这在某些情况下可能很有用,例如如果匹配则返回字符串,否则返回 false(例如,如果零长度字符串将是有效匹配),或者如果有答案则返回数字,或 null如果不是(例如,X/Y,如果 Y 为零,则它可能返回 null)。
标签: javascript