Javascript 以“@”开头的JS变量

Javascript 以“@”开头的JS变量,javascript,Javascript,我遇到过一些人的旧代码,其中包含一些变量,比如:@user\u id@、@reference\u id@,等等。Wikipedia说,在某些JavaScript实现中,at符号@可以用在标识符中。。。这在什么JS实现中起作用?我无法让它工作。这是完全正确的: var π = Math.PI; 这似乎无效: var @yourName = "Jamund"; 不过,这是可行的: var $yourName = "Jamund"; 如果您感到无聊,想了解所有血淋淋的细节: 至于您的具体问题,

我遇到过一些人的旧代码,其中包含一些变量,比如:@user\u id@、@reference\u id@,等等。Wikipedia说,在某些JavaScript实现中,at符号@可以用在标识符中。。。这在什么JS实现中起作用?我无法让它工作。

这是完全正确的:

var π = Math.PI;
这似乎无效:

var @yourName = "Jamund";
不过,这是可行的:

var $yourName = "Jamund";
如果您感到无聊,想了解所有血淋淋的细节:

至于您的具体问题,是的,它可能在注释中使用@,有时在JS注释中使用了它的样式,或者是要在服务器端进行处理和替换。

的第7.6章定义了什么是标识符。因为不允许使用@,所以即使某些浏览器可能接受它,也不应使用它。如果可能的话,您应该始终努力在所有浏览器中实现最广泛的兼容性。在标识符中不使用@不应以任何方式妨碍您

标识名:: 标识开始 IdentifierName IdentifierPart IdentifierStart:: 单选机 $ _ \单链构象序列 标识部分:: 标识开始 联合标记 独角兽 单链断开连接
π是希腊语单词中使用的一个标准希腊字符,因此可以有效地用于变量名。规则是,您可以使用$或除JavaScript关键字之外的任何单词字符。但是,如果您使用访问器,则可以使用包含空字符串的禁止关键字:var-probled={};禁止的,禁止的你好;您甚至可以在全局对象上执行此操作:window['@weird name for a variable']=执行此操作的理由很少!!但仅仅因为你能,并不一定意味着你应该!以这种方式命名的变量与任何其他变量相同。唯一的限制是必须使用方括号和字符串来访问这些值。

如果单个@位于注释块中,则通常是JSDoc参数。用@包装这个术语听起来像是一个自定义模板功能。但以@开头的名称通常是本机符号。我不相信您可以在代码中实际使用它们,但文档中经常以这种方式引用它们

例如,Symbol.iterator被称为,如:

Array.prototype[@@iterator] TypedArray.prototype[@@iterator] String.prototype[@@iterator] Map.prototype[@@iterator] Set.prototype[@@iterator] 虽然在代码中,您可以这样使用它:

var myArray = [1, 2, 3, 4];
var it = myArray[Symbol.iterator]();
console.log(it.next().value); // 1
console.log(it.next().value); // 2
您还可以看到以下参考资料:

-RegExp.prototype[@@match] -RegExp.prototype[@@replace] -RegExp.prototype[@@split] -RegExp.prototype[@@search] -地图[@@species],集合[@@species] -日期.原型[@@TopPrimitive]提示,符号.原型[@@TopPrimitive] -Array.prototype[@@uncopables]
您是舒尔吗?这不是一条解释某些功能、关于某个功能的参数的生成评论?他们可能是在服务器端替换这些令牌。即使它在一些随机JS引擎中工作,也没关系,因为它在大多数情况下都不起作用。不要这样做。这绝对不是一个评论,虽然它可以被服务器端取代-谢谢你的想法!