正如标题所示,我真的不知道JavaScript中的@@DEBUG
或其他@@stringName
是什么意思。
有人在那里有个主意吗?
非常感谢
我已经看到它通过字符串文字或变量使用,如下所示:
// the 1st scene
angular.module('myApp', []).value('appConst', {'dbServer' : '@@DBSERVER'});
// the 2nd scene
if (@@DEBUG) {
window.root = $rootScope;
}
// some other logic
Thx,all!
现在,我已经发现这个双重'@'来自哪里,它来自我的咕噜声,构建系统,如下:
// In my grunt's replace task
replace : {
server: {
replacements: [{
from: /@@DBSERVER/g,
to: yeomanConfig.devSettings.DEV_DBSERVER
}, {
from: /@@DEBUG/g,
to: 'true'
}]
}
}
很多,很多参与者。
答案 0 :(得分:2)
这是ASP.NET MVC剃刀视图引擎语法。如果您使用MVC,则可以使用razor视图在JavaScript中使用此语法。所以我认为你对使用JavaScript的剃刀语法有点困惑。
此类语法也只能编写sql-transaction
请看这张图片
答案 1 :(得分:0)
<强>更新强>
无论您正在查看的代码是什么(并且您应该编辑帖子以包含示例),它不是纯粹的Javascript,因为Javascript语法不使用任何@符号。
如果您想为自己确认,可以浏览Javascript syntax reference page on the Mozilla Developer Network。
我添加了使用@@ here的代码示例,以帮助您识别代码。
这很可能是 C#Razor 语法:
<span>In Razor, you use the
@@foo to display the value
of foo</span>
当你想要打印@而不是变量时,它用于转义@。
来源:http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx
可能是 Ruby 语法:
def self.debug
return @@debug
end
在Ruby @@中表示一个类变量。
参考:https://stackoverflow.com/a/5890199/1005039
它也可以是 MySQL 语法:
set debug= 'T';
select @@debug;
@@debug
T
set debug= '+P';
select @@debug;
@@debug
P:T
set debug= '-P';
select @@debug;
@@debug
T
在MySQL中,@@表示变量
来源:http://dev.mysql.com/doc/refman/5.0/en/set-statement.html
它也可以是 PostgreSQL 语法:
SELECT description
FROM product
WHERE description @@ '%apple%'
答案 2 :(得分:0)
@@FOO
无效作为JavaScript语法 - 除非它恰好位于评论,字符串文字或正则表达式文字中。
因此,它是不 JavaScript或具有特殊含义(对于某人,但而不是 JavaScript),采用以下形式之一:
// @@FOO
"@@FOO";
/@@FOO/;
它也可以是构建系统或模板引擎中的处理指令或不同语言中的有效语法;但它不是 JavaScript。