我想知道,根据良好实践,在这种情况下放置变量最方便的方法是:
如果你有一个函数,只有条件语句为真时才会执行其内容,你会把变量放在哪里?
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;
}
}
答案 0 :(得分:3)
在if语句中。根据您的代码,IF语句只需要lastMessage函数 - 因此您应该将其括起来。否则,每次运行if检查时都会执行计算,无论您是否需要它。那将是浪费。
答案 1 :(得分:3)
正如许多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
}
}
答案 2 :(得分:1)
如果在if
语句之外没有使用if
语句,请在female=vector()
for (i in 1 : length (sna.list.1))
set.vertex.attribute(sna.list.1[[i]],"Female",alter.list.1bis[[i][,"NIDemo1_c4"])
语句中。
答案 3 :(得分:1)
将它放在if语句中。特别是如果变量赋值是昂贵的,因为它永远不会被使用,除非满足if语句。