Javascript 如何将此代码缩减为一行?
我对javascript、node.js和express非常陌生。我的问题是,如何重构以下代码,使其成为函数中的一行Javascript 如何将此代码缩减为一行?,javascript,node.js,express,Javascript,Node.js,Express,我对javascript、node.js和express非常陌生。我的问题是,如何重构以下代码,使其成为函数中的一行 exports.about = function(req, res){ var mytime = new Date(); res.render('about', {title: 'about page', time: mytime.toLocaleDateString() }); }; 换句话说,有没有一种方法可以压缩变量mytime=newdate();和time:myt
exports.about = function(req, res){
var mytime = new Date();
res.render('about', {title: 'about page', time: mytime.toLocaleDateString() });
};
换句话说,有没有一种方法可以压缩变量mytime=newdate();和time:mytime.toLocalDateString()合并到一个语句中 你没有。可读性胜过简洁性。让机器来缩小尺寸
您可以将
mytime.toLocaleDateString()
写成(新日期()).toLocaleDateString()
,但我不推荐这样做
我喜欢的款式:
exports.about = function(req, res){
var mytime = new Date();
res.render('about', {
title: 'about page',
time: mytime.toLocaleDateString()
});
};
看:你可以,但真的有必要吗?这是很好的和可读的方式,你这样做
但如果你真的真的想,这就是:
exports.about = function(req, res){
res.render('about', {title: 'about page', time: new Date().toLocaleDateString() });
};
这看起来有点奇怪,但是new Date()
部分优先,所以您甚至不需要在它周围使用参数(例如,您不需要时间:(new Date()).toLocaleDateString()
)。如果你愿意,你可以拥有它们,但它们不是必需的。一行
exports.about = function(req, res){ res.render('about', {title: 'about page', time: new Date().toLocaleDateString() }); };
但这相当愚蠢。您的原始代码没有问题。您可以这样做
exports.about = function(req, res){
res.render('about', {title: 'about page', time: new Date().toLocaleDateString() });
};
但仅此而已。我同意Frits van Campen的观点。缩短这段代码不会使它变得更好。我个人会把它放大一点,就像这样:
exports.about = function (req, res) {
var mytime = new Date();
res.render('about', {
title: 'about page',
time: mytime.toLocaleDateString()
});
};
- 我在
后面添加了一个空格,因为这正是JSLint想要的函数
- 我在
前面添加了一个空格,因为这样可以使它更具可读性{
- 我将所有对象属性放在不同的行上,这样我就不必整天水平滚动(而且现在我可以在每个属性的末尾添加注释,耶!)
- 最后,我将空格缩进替换为制表符,因为这样可以使所有内容完全对齐,而只需按一次键即可删除或覆盖它们(如果插入符号位于第行的开头,则4个空格需要按4次键才能移动到代码中,而单个制表符只需要按一次键)
exports.about = function (req, res) {
res.render('about', {
title: 'about page',
time: new Date().toLocaleDateString()
});
};
这里最好的方法是:
new Date().toLocaleDateString()
。大小不重要-可读性是。这是一种你想尽快摆脱的思维定势-相信我。你可以使用exports.about=function(req,res){var mytime=new Date();res.render('about',{title:'about page',time:mytime.toLocaleDateString());};
但这没有什么意义。VisioN有我在这里寻找的答案。谢谢!!好的,我明白了,我可能会保持原样。但这实际上是不可能的,还是不推荐?不需要额外的括号。是的,我需要括号;)新的可能也不需要。@jstevens13“不可能”这是坏程序员常说的一句话。没有什么是不可能的,这样做只是一件愚蠢的事情。@FritsvanCampennew
在这里至关重要。