我想知道,根据良好的实践,在这种情况下放置变量的最方便的方法是什么:
如果您有一个函数,只有在条件语句为真的情况下,它的内容才会被执行,那么您将把变量放在哪里?
addMessage (text) {
let lastMessage = React.findDOMNode(this.refs.messages);
if (text.length) {
ChatActions.addMessage(text);
lastMessage.scrollTop = lastMessage.scrollHeight;
}
}或者像这样:
addMessage (text) {
if (text.length) {
let lastMessage = React.findDOMNode(this.refs.messages);
ChatActions.addMessage(text);
lastMessage.scrollTop = lastMessage.scrollHeight;
}
}发布于 2015-08-18 00:09:11
是的,绝对
正如许多JavaScript风格指南中所述:
13.4在需要变量的地方分配变量,但将它们放在合理的位置。为什么?let和const是块作用域,而不是函数作用域。
// 2.B.1.4
// const and let, from ECMAScript 6, should likewise be at the top of their scope (block).
// Bad
function foo() {
let foo,
bar;
if ( condition ) {
bar = "";
// statements
}
}
// Good
function foo() {
let foo;
if ( condition ) {
let bar = "";
// statements
}
}发布于 2015-08-18 00:01:13
在if语句中。根据您的代码,IF语句只需要lastMessage函数,因此您应该将它括起来。否则,您将在每次运行if检查时执行计算,而不管是否需要它。那太浪费了。
发布于 2015-08-17 23:57:34
如果if语句不在if语句之外使用,则在if语句中。
https://stackoverflow.com/questions/32061509
复制相似问题