这是node.js声明代码node.js的方式,还是可以通过使用更less的逗号,并分解成更多的行改善?

我刚刚从python迁移到node.js. 我发现这个声明代码在node.js中的语法来自python背景。 为什么有这么多逗号? 是否有可能使用更less的逗号重写它,并分解成更多的行? 在node.js中这样的语法是常见的吗? 对于一个python人来说,代码看起来更难看。

var app = require('http').createServer(handler), io = require('socket.io').listen(app), fs = require('fs'), mysql = require('mysql'), connectionsArray = [], connection = mysql.createConnection({ host: 'localhost', user: 'root', password: '', database: 'dbSen', port: 3306 }), POLLING_INTERVAL = 1000, pollingTimer; 

就是这样:

 var app = require('http').createServer(handler); var io = require('socket.io').listen(app); var fs = require('fs'); var mysql = require('mysql'); var connectionsArray = []; var connection = mysql.createConnection({ host: 'localhost', user: 'root', password: '', database: 'dbSen', port: 3306 }); var POLLING_INTERVAL = 1000; var pollingTimer; 

逗号只是将var关键字扩展到下一行。 尽pipe我同意这样做的确是很普遍的做法,这使得代码难以阅读。

你会看到这种模式的原因是因为人们不喜欢多次写var关键字而不使用var关键字:

 app = require('http').createServer(handler); io = require('socket.io').listen(app); 

如果你在严格模式下运行,将使variables全局或引发一个ReferenceError

你可能会发现var关键字的mdn页面有用

JavaScript的怪癖之一是创buildvariables的方式。 如果您不使用var关键字,则该variables将泄漏到全局范围。 看看下面的内容:

 function foo() { var x = 5; // local variable y = 10; // this leaks to the global scope! } 

使用逗号分隔的variables声明只是编写多个var语句的简短方式。 所以做这样的事情:

 var a = 10, b = 20, c = 30, d = 40; 

和这样做是一样的:

 var a = 10; var b = 20; var c = 30; var d = 40; 

为了回答你的问题,是的,这个语法在Node和JavaScript中是常见的。

此代码使用var模式声明。 在第一次声明之后,可以添加多个以逗号分隔的声明,而不必重复var关键字。