什么'@@ DEBUG'在javascript中意味着什么?

时间:2013-11-30 06:56:02

标签: javascript syntax

正如标题所示,我真的不知道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'
    }]
  }
}

很多,很多参与者。

3 个答案:

答案 0 :(得分:2)

  

这是ASP.NET MVC剃刀视图引擎语法。如果您使用MVC,则可以使用razor视图在JavaScript中使用此语法。所以我认为你对使用JavaScript的剃刀语法有点困惑。

     

此类语法也只能编写sql-transaction

请看这张图片

enter image description here

悲伤的消息,Google没有在javascript上使用该符号进行搜索

答案 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%'

来源:Postgres match operator @@

答案 2 :(得分:0)

@@FOO 无效作为JavaScript语法 - 除非它恰好位于评论,字符串文字或正则表达式文字中。

因此,它是 JavaScript或具有特殊含义(对于某人,但而不是 JavaScript),采用以下形式之一:

// @@FOO
"@@FOO";
/@@FOO/;

它也可以是构建系统或模板引擎中的处理指令或不同语言中的有效语法;但它不是 JavaScript。