返回变量并再次使用它的正确语法(javascript)
我有一件很简单的事情,那是行不通的。发生了什么事?根据我阅读的教程,这应该输出4返回变量并再次使用它的正确语法(javascript),javascript,function,return,Javascript,Function,Return,我有一件很简单的事情,那是行不通的。发生了什么事?根据我阅读的教程,这应该输出4 function sum(a,b) { var result = a + b; return result; } sum(2,2); var test = sum(); alert(test); // shouldn't this return "4"? 更改此选项: sum(2,2); var test = sum(); 为此: var test =
function sum(a,b) {
var result = a + b;
return result;
}
sum(2,2);
var test = sum();
alert(test); // shouldn't this return "4"?
更改此选项:
sum(2,2);
var test = sum();
为此:
var test = sum(2,2);
第一个代码在技术上并没有错,只是没有做你想做的事情。您使用适当的值调用sum函数,但从未将其返回值设置为任何变量,因此它会被丢弃。您似乎有这样一种印象,即值将“粘住”函数,而事实并非如此。(不过,一些基本语言可能会让人觉得是这样的。也许这就是你误解的原因。)
你的第二个电话基本上相当于
var test = sum(null, null);
当连接两个空值时,将再次得到空值。更改此设置:
sum(2,2);
var test = sum();
为此:
var test = sum(2,2);
第一个代码在技术上并没有错,只是没有做你想做的事情。您使用适当的值调用sum函数,但从未将其返回值设置为任何变量,因此它会被丢弃。您似乎有这样一种印象,即值将“粘住”函数,而事实并非如此。(不过,一些基本语言可能会让人觉得是这样的。也许这就是你误解的原因。)
你的第二个电话基本上相当于
var test = sum(null, null);
当你连接两个空值时,你会再次得到空值。
sum(2,2)
执行函数var test=sum()
分配不带参数的sum
的结果,当然NaN
sum(2,2)
确实返回4
,sum()
单独返回NaN
-你期望什么(或者:你读了哪些教程)?我期望var test=sum()
不会运行该功能。相反,它将只检索返回的值。但是,我又一次学习了javascript(以及一般的编程)仅仅几个星期。sum(2,2)
执行函数var test=sum()
分配不带参数的sum
的结果,当然NaN
sum(2,2)
确实返回4
,sum()
单独返回NaN
-你期望什么(或者:你读了哪些教程)?我期望var test=sum()
不会运行该功能。相反,它将只检索返回的值。但话说回来,我一直在学习javascript(以及一般的编程)仅仅几个星期undefined
不是null
,两者相加时都返回NaN
。我意识到调用没有参数的函数看起来很奇怪,但是。。。我非常有限的经验告诉我,当你这样做时:var test=sum(2,2)
函数再次运行,我不想让它运行,我只想检索值。这就是为什么我有点困惑的原因。@Bergi-我不想向他抛出一大堆新术语。@telex wap-每次你调用它时,该函数都会运行。函数没有存储过去值的固有方式。这就是变量的用途。:)是的,唯一的问题是,如果将返回值存储在函数内部的变量中,则不能在函数外部使用它。。。(或者至少在我所处的初级阶段,你不能。我想一定有一种方法可以轻松绕过)不。未定义的
不是null
,两者在求和时都返回NaN
,而不是null。我意识到调用没有参数的函数看起来很奇怪,但是。。。我非常有限的经验告诉我,当你这样做时:var test=sum(2,2)
函数再次运行,我不想让它运行,我只想检索值。这就是为什么我有点困惑的原因。@Bergi-我不想向他抛出一大堆新术语。@telex wap-每次你调用它时,该函数都会运行。函数没有存储过去值的固有方式。这就是变量的用途。:)是的,唯一的问题是,如果将返回值存储在函数内部的变量中,则不能在函数外部使用它。。。(或者至少在我的初级阶段,你不能。我想一定有一种方法可以轻松地解决这个问题)