我正在学习javascript并遇到了这个伟大的啧啧:
http://eloquentjavascript.net/03_functions.html
标题下的第一个例子"嵌套范围"文本生成文字以绘制山峰:
我不明白为什么,在第11行有一个" \" 当它只生成一个" \"
请让你的解释适合傻瓜 - 我上了一堂关于提升的课程,并在我理解之前通过调试器多次遵循此代码! :)
谢谢!
答案 0 :(得分:3)
反斜杠"逃避"很多语言中的字符。通过"逃避",我的意思是他们将他们从他们的特殊意义中剥离出来,留下他们一个朴素的性格。因此,当你想要一个简单的反斜杠时,你必须逃避它以限制它逃避其他东西。
答案 1 :(得分:0)
这是问题所在的代码块:
var mountain = function(size) {
result += "/";
for (var count = 0; count < size; count++)
result += "'";
result += "\\";
};
// mountain(4); outputs -> /''''\
在JavaScript中,符号\
用于转义字符串中的特殊字符(如换行符\n
)。
因此,当只创建一个\
时,您必须转义转义的 out 。
因此result += "\\";
中的加倍。