在javascript中为变量指定函数返回值

在javascript中为变量指定函数返回值,javascript,function,variables,Javascript,Function,Variables,我创建了一个返回变量的函数 function randomZone(){ return x; } 我希望y等于函数返回值,这样y=x y=randomZone(); 我已经读到,这将变量设置为函数的值,而我必须把它放在()上;在函数末尾,首先调用它。哪条路正确 y=randomZone()(); y=(randomZone())(); 另外,当您在另一个函数内部调用时,您将如何调用它?例如: document.getElementById(randomZone()).classList

我创建了一个返回变量的函数

function randomZone(){
  return x;
}
我希望y等于函数返回值,这样y=x

y=randomZone();
我已经读到,这将变量设置为函数的值,而我必须把它放在()上;在函数末尾,首先调用它。哪条路正确

y=randomZone()();
y=(randomZone())();
另外,当您在另一个函数内部调用时,您将如何调用它?例如:

document.getElementById(randomZone()).classList.add('someClass');
document.getElementById(randomZone()()).classList.add('someClass');
document.getElementById((randomZone())()).classList.add('someClass');
document.getElementById((randomZone())();).classList.add('someClass');
哪条路正确?您是否也不包括分号,因为这样会提前终止代码?

  • y=randomZone
    将函数本身分配给变量
    y
    ,现在可以通过执行
    y()
  • y=randomZone()
    将函数的返回赋值给
    y
    ,现在当任何其他脚本执行此代码时,
    y
    等于
    x
    (函数的返回)
  • 使用脚本加载时,您可以立即执行以下操作:

(function(){y=randomZone();//这些括号内的代码立即执行}())

y=randomZone
将分配
y
功能
y=randomZone()
首先调用函数并将其返回值赋给
y
。如果
x
不是函数,则这是有效的:
document.getElementById(randomZone()).classList.add('someClass')
y=randomZone()是正确的。无论执行randomZone返回什么,都会为y赋值。
x
(randomZone
的返回值是函数吗?如果不是,调用它就没有意义:如果
randomZone
返回
5
,你就不会调用
5()
,也不会调用
randomZone()
randomZone()和(RealZONE)()是等价的(但是,正如其他已经提出的建议,可能都错了)谢谢,我最初做了这件事,尽管我读到的其他线程确实被弄糊涂了。