我可以在js文件中添加indendented代码吗?

时间:2014-12-02 05:17:01

标签: javascript jquery indentation

以下是js代码的链接

非缩进: http://jsfiddle.net/bsr1/ucg6v1v0/

var dataAbc = '<div class="message7">Focus Shifted Here</div>';
alert("*");

缩进 http://jsfiddle.net/bsr1/1dtrz0au/

var dataAbc = '<div class="message7">
            Focus Shifted Here
        </div>';
alert("*");

我知道第二个会导致js错误。我可以在没有erorr的情况下缩进我的js代码吗

5 个答案:

答案 0 :(得分:1)

不能跨多行声明字符串。

选项1 - 连接:

var dataAbc = '<div class="message7">' + 
            'Focus Shifted Here' + 
        '</div>';

选项2 - 使用反斜杠转义换行符

var dataAbc = '<div class="message7">\
            Focus Shifted Here\
        </div>';

我会建议不要使用选项2,因为它依赖于\之后的正确数量的空白,并且不适合缩小。

在明亮的尺寸上,ES6会引入template strings

答案 1 :(得分:1)

您可以缩进JS代码。事实上,如果你这样做,每个人都会很高兴。

但是,你不能将字符串分成多行。

您可以通过使用反斜杠\作为最后一个字符来取消字符串中的换行符:

var dataAbc = '<div class="message7">\
            Focus Shifted Here\
        </div>';

如果您还想在字符串中添加换行符,则必须明确地将其添加:

var dataAbc = '<div class="message7">\n\
            Focus Shifted Here\n\
        </div>';

您还可以在运行时拆分字符串并从部件中组装:

var dataAbc = '<div class="message7">\n' +
            'Focus Shifted Here\n' +
        '</div>';

但是,您不能在字符串中包含未转义的换行符。

答案 2 :(得分:0)

我总是为易于阅读而做的是:

var dataAbc = '<div class="message7">'+ 'Focus Shifted Here'+ '</div>'; alert("*");

答案 3 :(得分:0)

\

结束
var dataAbc = '<div class="message7">\
            Focus Shifted Here\
        </div>';
alert("*");

但是,我认为在JS中插入(复杂)HTML结构并不是一个好主意。

答案 4 :(得分:-1)

Javascript没有here-document语法。但是,你可以逃避文字换行符,它接近:

"foo \
bar"

摘自this