Javascript 带字符串的行的行长度

Javascript 带字符串的行的行长度,javascript,Javascript,最近,我被Javascript的整洁性所困扰,我很好奇是否有一些关于如何处理由于字符串长度而跨越80列的行的常见做法。使用innerHTML我可以用反斜杠标记换行符,缩进空格不会显示在元素的内容中,但这似乎不适用于例如console.log() 这方面有什么惯例吗?或者我应该学习使用长度超过80列的线条吗?:) 没有普遍的惯例。有了现代的高分辨率显示器,您可以轻松地容纳160列,并且仍然有空间放置IDE工具栏,而无需滚动,因此我不必担心坚持使用80列 有些人千方百计不让任何一行代码超过n列,其中

最近,我被Javascript的整洁性所困扰,我很好奇是否有一些关于如何处理由于字符串长度而跨越80列的行的常见做法。使用
innerHTML
我可以用反斜杠标记换行符,缩进空格不会显示在元素的内容中,但这似乎不适用于例如
console.log()


这方面有什么惯例吗?或者我应该学习使用长度超过80列的线条吗?:)

没有普遍的惯例。有了现代的高分辨率显示器,您可以轻松地容纳160列,并且仍然有空间放置IDE工具栏,而无需滚动,因此我不必担心坚持使用80列

有些人千方百计不让任何一行代码超过n列,其中n可能是80或160,或者根据适合他们首选字体和屏幕分辨率的其他任意数字。与我共事的一些人并不在意,不管是由于一个长字符串还是一个包含大量参数的函数还是其他原因,他们的行都会向右偏移

我尽量避免任何水平滚动,但我并不在意它,所以如果我有一个特别长的字符串常量,我可能会把它全部放在一行上。如果我有一个字符串,它是通过连接常量和变量建立起来的,我会将它拆分成几行,因为该语句已经有了几个
+
操作符,它们是添加换行符的自然位置。如果我有一个有很多参数的函数,如果没有滚动,我会把每个参数换成一行。对于一个有很多条件的if语句,我可能会把它分成几行

关于您提到的
innerHTML
console.log()
:如果您在源代码中通过包含反斜杠和换行符来跨行中断字符串常量,那么您在第二行上放置的任何缩进空格都将成为字符串的一部分:

var myString1 = "This has been broken\
                 into two lines.";
// equivalent to
var myString2 = "This has been broken                 into two lines.";
// NOT equivalent to
var myString3 = "This has been broken\
into two lines.";
var myString3 = "Hi there, this has been broken"
              + " into several lines by concatenating"
              + " a number of shorter strings.";
如果将该字符串用于
innerHTML
,则空格将被视为与HTML源中的空格相同,即浏览器将显示它,并将多个空格压缩为单个空格。但是对于代码中字符串的任何其他用途,包括
console.log()
都将包含空格字符

如果水平滚动确实困扰您,并且您有一个长字符串,则以下方法允许您在字符串中进行缩进,而不需要额外的空格:

var myString1 = "This has been broken\
                 into two lines.";
// equivalent to
var myString2 = "This has been broken                 into two lines.";
// NOT equivalent to
var myString3 = "This has been broken\
into two lines.";
var myString3 = "Hi there, this has been broken"
              + " into several lines by concatenating"
              + " a number of shorter strings.";

没有普遍的惯例。有了现代的高分辨率显示器,您可以轻松地容纳160列,并且仍然有空间放置IDE工具栏,而无需滚动,因此我不必担心坚持使用80列

有些人千方百计不让任何一行代码超过n列,其中n可能是80或160,或者根据适合他们首选字体和屏幕分辨率的其他任意数字。与我共事的一些人并不在意,不管是由于一个长字符串还是一个包含大量参数的函数还是其他原因,他们的行都会向右偏移

我尽量避免任何水平滚动,但我并不在意它,所以如果我有一个特别长的字符串常量,我可能会把它全部放在一行上。如果我有一个字符串,它是通过连接常量和变量建立起来的,我会将它拆分成几行,因为该语句已经有了几个
+
操作符,它们是添加换行符的自然位置。如果我有一个有很多参数的函数,如果没有滚动,我会把每个参数换成一行。对于一个有很多条件的if语句,我可能会把它分成几行

关于您提到的
innerHTML
console.log()
:如果您在源代码中通过包含反斜杠和换行符来跨行中断字符串常量,那么您在第二行上放置的任何缩进空格都将成为字符串的一部分:

var myString1 = "This has been broken\
                 into two lines.";
// equivalent to
var myString2 = "This has been broken                 into two lines.";
// NOT equivalent to
var myString3 = "This has been broken\
into two lines.";
var myString3 = "Hi there, this has been broken"
              + " into several lines by concatenating"
              + " a number of shorter strings.";
如果将该字符串用于
innerHTML
,则空格将被视为与HTML源中的空格相同,即浏览器将显示它,并将多个空格压缩为单个空格。但是对于代码中字符串的任何其他用途,包括
console.log()
都将包含空格字符

如果水平滚动确实困扰您,并且您有一个长字符串,则以下方法允许您在字符串中进行缩进,而不需要额外的空格:

var myString1 = "This has been broken\
                 into two lines.";
// equivalent to
var myString2 = "This has been broken                 into two lines.";
// NOT equivalent to
var myString3 = "This has been broken\
into two lines.";
var myString3 = "Hi there, this has been broken"
              + " into several lines by concatenating"
              + " a number of shorter strings.";