这是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关键字。