【发布时间】:2015-11-23 23:00:01
【问题描述】:
我必须编写一个必须由任何一方调用的函数
sum(2,3); //5
//or
sum(2)(3); //5
这段代码是我写的
function sum (a,b){
return a + b;
}
sum(2,3);
我得到“TypeError:数字不是函数”。为什么?
【问题讨论】:
-
“我必须编写一个必须由其中任一方调用的函数” 为什么?另外:你不能(合理地)那样做。
-
以
sum(2,3)的身份执行它不会按照您的描述给出 TypeError !!猜你的意思是:sum(2)(3)。关于您的文字问题 why:您当前的函数返回了一个数字(数字 a + 数字 b 是一个数字。如果(其中一个)参数是一个字符串,那么您将得到一个字符串作为回报,其中...*also* 不是函数)。然后你尝试执行()这个返回的数字(它不是一个函数),传递参数值3。但是由于数字不是函数,所以你得到的只是一个 TypeError ......是的,我忍不住,但话又说回来......你问了“为什么”这个问题......
标签: javascript function typeerror invoke