Javascript中的逗号分隔

时间:2014-02-07 04:33:39

标签: javascript node.js comma

此代码之间的区别是什么:

var restify              = require("restify")
  , clientModule         = require("./lib/domain/client.js")
  , server               = restify.createServer();

这一个:

var restify = require(restify);
var clientModule = require("./lib/domain/client.js");
var server = restify.createServer();

前者比后者更有效吗?或者只是编写更少的代码?

2 个答案:

答案 0 :(得分:2)

除单个var之外的任何内容都与默认的jsLint规则一致。 JavaScript有一个名为var hoisting的概念,其中在函数内任何位置定义的vars被提升到该函数的顶部(它们的赋值没有被触及,这使得它在大多数情况下看起来无害)。通过养成在顶部编写变量的习惯,让执行的现实与源的意图相匹配。使用单个var是一种方便的方法来强制执行此操作(在任何函数中应该只有一个汽车,它应该是第一行('use strict'之后,如果你想要额外的一样)

答案 1 :(得分:0)

不,他们都完全一样。有些人更喜欢在函数顶部执行所有变量声明,因为它们实际上是由于提升而导致的。 jsLint规则和JS style guide for AirBNB更喜欢一个var,但它是首选。