2011-04-19 147 views
0

我被要求记录一些代码。一些JavaScript函数传似''在JavaScript函数参数中意味着什么?

onclick='showhide(<%#String.Format("\"#customer{0}\"",Container.DataItemIndex) %>);' 
  1. 什么是“\”,在代码的目的参数?
  2. 它们是一些特殊类型的转义字符吗?如果我们删除它们,代码会失败吗?
+0

什么服务器端脚本g语言是这样吗? VB或C#? – 2011-04-19 11:38:44

+0

<%#String.Format(“\”#customer {0} \“”,Container.DataItemIndex)%> - 它看起来像C#服务器端代码,但不是Javascript。 – Andrei 2011-04-19 11:40:46

+0

嗨,这是C#但函数是JavaScript,我想它传递一些参数,我只是想知道函数参数中包含'/'的函数是什么。 – 2011-04-19 11:43:05

回答

8

他们‘逃离’了引号,这样他们就可以被包含在字符串中。否则,他们将与的开始/结束引号混淆字符串。

http://en.wikipedia.org/wiki/Escape_character

+0

谢谢吉米,这真的很有帮助。 – 2011-04-19 11:53:21

+0

不客气! – 2011-04-19 11:54:51

1

是的,它是一个转义字符。

在这种情况下,它被转义“字符。

1

它是在上面的代码中使用的转义序列。

当写入字符串\"相当于" 。即,

<%#String.Format("\"#customer{0}\"",Container.DataItemIndex) %>

会使这样的事情,如果DataItemIndex9

"#customer9"

3

这看起来并不像(纯)的JavaScript,而是像其他一些语言产生 JavaScript代码(可能是ASP.NET):

假设<%# %>是t帽子语言代码中插入包含的语句转换成文本的结果,这意味着

String.Format("\"#customer{0}\"",Container.DataItemIndex) 

结果将关闭和函数调用的左括号之间被写入。

这意味着转义字符\不是在JavaScript中使用,而是在主机语言(可能是C#或VB.NET)中使用。其含义可能与JavaScript中的相同,'但是:它转义了双引号以允许它在字符串文字中表示。

+0

用于识别'\“'可能用于服务器端语言,而不用于JavaScript。 – 2011-04-19 11:45:35

+0

Thankyou Joachim。 – 2011-04-19 11:53:37

2
  1. 什么是 “\”,在代码中的目的是什么?

看起来像转义序列给我。假设这是C#代码,在代码字符串:

"\"#customer{0}\"" 

是由编译器解释为:

"#customer{0}" 

(这INCLUDES双引号)

当这是response.written,输出将变为:

onclick='showhide("#customer_1234");' 
+0

谢谢Salman。 – 2011-04-19 11:54:00

相关问题