2012-02-25 30 views
3

功能参数从的test.html我包括test.js运行功能d()。该函数的参数是一个可能包含“新行”字符的字符串(ASCII为10),如下例所示。然而,当我调试这个函数时,除了新行外,即它们包含字符串“HelloWorld”(长度为10)而不是“Hello [charNewLine] World”(长度为11),包含所有字符, 。换行字符作为在Javascript

有没有一种方法可以将新行字符的字符串作为参数传递给Javascript中的函数?谢谢。

的test.html

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=x-user-defined"> 
<title>JavaScript Scripting</title> 
</head> 
<body> 
<script type="text/javascript" charset="x-user-defined" src="test.js"> 
</script> 
</body> 
</html> 

test.js

function d(s) 
{ 
    var data = (s + "").split(""); 
    var dataLength = data.length; 
    var t = [dataLength],n; 

    for(n=0;n<dataLength;n++) 
    t[n]=data[n].charCodeAt(0); 
} 
d("Hello\ 
World"); 

回答

3
d("Hello\ 
World"); 

包含一个 “行延续”。

language specification

字面的字符串值(SV )中贡献的字符串文字的各个部分的字符值(CV )来描述。

...

LineContinuation :: \ LineTerminatorSequenceSV是空字符序列。

这意味着它不会对字符串文本的值产生任何字符。

要嵌入一个换行符的字符串,只需使用\n作为

d("Hello\nWorld") 
1

如果你想看到新的生产线,并通过它在字符串中,使用这种方式:

d("Hello\n\ 
World");