2012-02-25 57 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");