Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.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 - Fatal编程技术网

Javascript 检查函数调用是否为变量定义

Javascript 检查函数调用是否为变量定义,javascript,Javascript,我想知道是否可以检查函数调用是否返回到变量定义或全局范围 function getName() { if (!isVariableDefinition()) { console.log("John Doe"); } else { return "John Doe"; } var name = getName() // name == "John Doe" getName() // Should print "John Doe" to the c

我想知道是否可以检查函数调用是否返回到变量定义或全局范围

function getName() {
    if (!isVariableDefinition()) {
        console.log("John Doe");
    } else {
        return "John Doe";
}

var name = getName()
// name == "John Doe"

getName()
// Should print "John Doe" to the console
我的代码通过AJAX从服务器调用远程过程。在服务器上,如果过程是一个变量定义,则应保存其名称以供其他使用,如果不是,则应仅返回结果

var result = RPC('getName')
// The server should receive "result" and the call

RPC('getName')
// The server should receive only the call

这种语法可能吗?

不,不可能。函数不知道它返回的值在做什么。

不,这是不可能的。函数不知道它返回的值在做什么。

有其他选择吗?@user6907394没有。你需要解释你想做什么。在不知道您的实际问题是什么的情况下,我们无法提供解决方案。@user6907394我知道,但我的答案仍然是一样的。RPC不能那样工作。您需要使用两个不同的函数:getter和setter,或者向RPC传递一些额外的标志,告诉它如何处理它获取的值。明白了。谢谢。还有其他选择吗?@user6907394没有。你需要解释你想做什么。在不知道您的实际问题是什么的情况下,我们无法提供解决方案。@user6907394我知道,但我的答案仍然是一样的。RPC不能那样工作。您需要使用两个不同的函数:getter和setter,或者向RPC传递一些额外的标志,告诉它如何处理它获取的值。明白了。谢谢。我的回答仍然准确。RPC无法告诉如何使用其返回值,语法不可能。您试图以无法使用的方式使用JavaScript。此外,如果RPC使用AJAX获取值,则该值甚至无法返回。您必须返回一个承诺或将回调函数传递到RPC中。我的答案仍然是准确的。RPC无法告诉如何使用其返回值,语法不可能。您试图以无法使用的方式使用JavaScript。此外,如果RPC使用AJAX获取值,则该值甚至无法返回。您必须返回承诺或将回调函数传递到RPC。