我可以使用换行符和标签格式化我的JavaScript / JQuery代码吗?

时间:2012-02-23 09:59:17

标签: javascript jquery coding-style jslint

作为一名学习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/,它也接受标签。

4 个答案:

答案 0 :(得分:3)

jsLint上代码的问题是由于标识:如果你用4个空格缩进它就没有错误

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

答案 1 :(得分:1)

JSLint的警告是一个品味问题。无论是谁写的都发现用这种方式排列东西更有意义:

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

我一个人发现你的方法更加清晰,因为点告诉我,它之后的任何东西都属于上面的那一行。

你对写作的方式很安全,但我真的很想看到有人(jslint开发者)告诉我们如何禁用该信息。

答案 2 :(得分:0)

你的代码非常好,如果你像jslint那样格式化它不应该抱怨(好吧,当然它抱怨$没有被定义,但其余的代码都没问题)

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

答案 3 :(得分:0)

良好的编码习惯是让您和其他任何人保持您的代码可读,这就是一个例子

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

if(something)
{
   // do something
}
else
{
   //do something else
}

你应该总是使用缩进,这是一个很好的编码实践。

相关问题