我想知道是否有创建变量的函数,例如new Object()
,new Array()
等。那么,是否存在类似new Variable("variable name", "value")
的东西?谢谢
编辑:我知道var
关键字...我的目标是创建一个变量的函数,我们可以使用另一个变量来设置名称...我看到了注释,该注释类似于{{ 1}} var $ {name}; eval(
,这就是我所需要的,但是我如何验证它是否不存在?
答案 0 :(得分:1)
是的,用Function constructor可以对函数执行类似的操作,我想这通常是不好的做法,并且需要一些奇怪的用例...
console.log(new Function('a', 'b', 'return a + b'));
console.log(new Function('a', 'b', 'return a + b')(2,3));
关于创建函数的一些不错的读物(从那里得到想法):https://javascript.christmas/2018/13
答案 1 :(得分:0)
[Route("api/[controller]")]
[ApiController]
public class AuthController : Controller
{
[AllowAnonymous]
[HttpGet("[action]")]
public User GetUserName()
{
WindowsIdentity currentUser = WindowsIdentity.GetCurrent();
string domainContextName = "";
try
{
DomainContext domainContext = AppHelper.CurrentDomainContext;
domainContextName = domainContext.UserId;
}
catch(Exception ex)
{
domainContextName = ex.Message;
}
User user = new User()
{
WindowsIdentityGetCurrent = currentUser.Name,
HttpContextUserIdentityName = HttpContext.User.Identity.Name,
DomainContextName = domainContextName
};
return user;
}
}
应该足够了。无需创建函数来设置变量。
答案 2 :(得分:-1)
对于全局变量,您可以执行以下操作:
JsonOutput.toJSON()
对任何其他作用域对象变量执行类似操作