簡體   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