我想从示例中获取变量名(user_name1
或user_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)
有可能吗?怎么样?
答案 0 :(得分:4)
不。就是不行。变量名称不应具有内在含义。它们只是算法中的占位符,有时您甚至无法将其名称控制到所需的扩展名。另外,在调用函数时,该变量实际上还不存在。即使这样做,也没有明智的方法可以从所述函数中找出将函数结果分配给哪个变量。
也:
let users = [GetUserName(), GetUserName()];
现在呢?
将名称显式传递到函数中,即句点。
GetUserName('user_name1')