JavaScript从函数返回变量

时间:2018-12-17 15:08:55

标签: javascript function return-value

我不是一名JavaScript程序员,但我正在尝试破解现有正在运行的程序。

在C语言中,常见的错误是在函数中定义变量,然后将其返回。当然,当函数退出时,变量将从堆栈中消失。

在javascript函数中,我不想将变量赋给没有var的变量,因为这会给它全局范围。所以我说var foo = something ;,然后在函数末尾返回foo。

这似乎有效。它是否起作用,还是可以保证起作用?是不是因为javascript被垃圾回收,变量现在由调用范围指向并保留了?

我问过Google,但是要么我没有在正确的地方搜索,答案太复杂了,或者找不到答案。

在我看来,我可以返回一个表达式,而不必完全命名它。这更明智吗?

1 个答案:

答案 0 :(得分:-1)

就像在C中一样,变量可以是Value typePointer type,但是在javascript中,它们都是Reference type,类似于Pointer type

在您的代码中,var仅将foo限制为仅在包含函数的作用域中可见。 something是绑定到foo的对象。但是对象也可以绑定到任何其他变量。