繁体   English   中英

javascript:如何将变量转换为具有相同名称且返回原始值的函数

[英]javascript: how to convert a variable to a function with the same name that returns the original value

假设我有一个数字变量(或任何其他类型),我想将此变量转换为具有相同变量名并返回原始值的函数(不使用其他变量)

var x=1
x=()=>x

这将按引用而不是按值复制x,因此新的x将始终返回自身(即函数)而不是原始值

我使用其他变量(temp)达到了结果

var x=1
var temp=x
var x=()=>temp

我想要的是通过值而不是通过引用复制此变量,我知道如何将一个对象复制到另一个对象,但是情况不一样

注意:使用相同的名称对于下一个代码的流程很重要(即:我必须使用一个函数,如果提供了其他类型,则必须将其转换为相同名称的函数)

只需编写一个函数:

function constFunction(temp) {
    return () => temp;
}

因此您可以将其称为x = constFunction(x) 像每个函数调用或赋值一样,这将复制变量的值,而不是引用。 不,您不能真正避免使用第二个变量(在这种情况下为temp ),因为您不能让x引用函数和原始值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM