簡體   English   中英

是否可以在函數內部獲取結果變量名稱?

[英]Is it possible to get result variable name inside function?

我想獲取變量名稱(示例中的user_name1user_name2 ),該變量名稱是此函數( GetUserName() )內部函數( GetUserName() )的結果。 對於在服務器端具有相同名稱的創建對象,我需要此名稱(數據同步)。

function GetUserName(){
  let result_variable_name = ????; //in (1) result_variable_name == 'user_name1', in (2) result_variable_name == 'user_name2'
  socket.send("object_name", result_variable_name);
  return "Some user name";
}
let user_name1 = GetUserName(); //(1)
let user_name2 = GetUserName(); //(2)

可能嗎? 怎么樣?

不就是不。 變量名稱不應具有內在含義。 它們只是算法中的占位符,有時您甚至無法將其名稱控制到所需的擴展名。 另外,在調用函數時,該變量實際上還不存在。 即使這樣做,也沒有明智的方法可以從所述函數中找出將函數結果分配給哪個變量。

也:

let users = [GetUserName(), GetUserName()];

怎么辦?

將名稱顯式傳遞給函數,句點。

GetUserName('user_name1')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM