我可以用换行符和制表符格式化JavaScript/JQuery代码吗

Can I format my JavaScript/JQuery code with linebreaks and tabs?

本文关键字:JQuery 代码 JavaScript 格式化 换行符 制表符 我可以      更新时间:2023-09-26

作为一名学习JavaScript的c#程序员,我发现这更可读:

$(this)
  .first()
  .prepend("<h3>Title</h3>")
  .end()
  .removeClass("hidden");

比这个:

$(this).first().prepend("<h3>Title</h3>").end().removeClass("hidden");

然而,JSLint抱怨第一个。但我不明白为什么。这会给我带来麻烦吗?

更新:您可以在jslint页面的底部设置缩进值,从而使代码"有效"。JsLint有一个分叉,http://www.jshint.com/,也接受制表符。

jsLint上该代码的问题是由于标识:如果用4个空格缩进,则不会出现错误

(向下滚动到选项,如果默认值不是您想要的,则更改标识设置)

JSLint的警告只是品味问题。无论是谁写的,都会发现这样安排更有意义:

$(this).
  first().
  prepend("<h3>Title</h3>").
  end().
  removeClass("hidden");

我觉得你的方法更清楚,因为点告诉我,它之后的任何东西都属于上面的线。

您的写作方式是安全的,但我真的希望看到有人(jslintdevs)告诉我们如何禁用该消息。

如果你这样格式化你的代码,jslint不应该抱怨(好吧,它当然抱怨$没有定义,但代码的其余部分还可以)

$(this).
    first().
    prepend("<h3>Title</h3>").
    end().
    removeClass("hidden");

一个好的编码实践是让你和其他人都能阅读你的代码,这就是的一个例子

$(this).first()
.prepend("<h3>Title</h3>")
.end()
.removeClass("hidden");
if(something)
{
   // do something
}
else
{
   //do something else
}

您应该始终使用缩进,这是一种很好的编码实践。