Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
返回变量并再次使用它的正确语法(javascript)_Javascript_Function_Return - Fatal编程技术网

返回变量并再次使用它的正确语法(javascript)

返回变量并再次使用它的正确语法(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 =

我有一件很简单的事情,那是行不通的。发生了什么事?根据我阅读的教程,这应该输出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 = 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-每次你调用它时,该函数都会运行。函数没有存储过去值的固有方式。这就是变量的用途。:)是的,唯一的问题是,如果将返回值存储在函数内部的变量中,则不能在函数外部使用它。。。(或者至少在我的初级阶段,你不能。我想一定有一种方法可以轻松地解决这个问题)