首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我是否应该将变量放入一个if条件中?

我是否应该将变量放入一个if条件中?
EN

Stack Overflow用户
提问于 2015-08-17 23:55:36
回答 4查看 60关注 0票数 2

我想知道,根据良好的实践,在这种情况下放置变量的最方便的方法是什么:

如果您有一个函数,只有在条件语句为真的情况下,它的内容才会被执行,那么您将把变量放在哪里?

代码语言:javascript
运行
复制
  addMessage (text) {
    let lastMessage = React.findDOMNode(this.refs.messages);
    if (text.length) {
      ChatActions.addMessage(text);
      lastMessage.scrollTop = lastMessage.scrollHeight;
    }
  }

或者像这样:

代码语言:javascript
运行
复制
  addMessage (text) {
    if (text.length) {
      let lastMessage = React.findDOMNode(this.refs.messages);
      ChatActions.addMessage(text);
      lastMessage.scrollTop = lastMessage.scrollHeight;
    }
  }
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-08-18 00:09:11

是的,绝对

正如许多JavaScript风格指南中所述:

Airbnb JavaScript样式指南(){

13.4在需要变量的地方分配变量,但将它们放在合理的位置。为什么?let和const是块作用域,而不是函数作用域。

书写一致的、惯用的JavaScript原则

代码语言:javascript
运行
复制
// 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
  }
}
票数 3
EN

Stack Overflow用户

发布于 2015-08-18 00:01:13

在if语句中。根据您的代码,IF语句只需要lastMessage函数,因此您应该将它括起来。否则,您将在每次运行if检查时执行计算,而不管是否需要它。那太浪费了。

票数 3
EN

Stack Overflow用户

发布于 2015-08-17 23:57:34

如果if语句不在if语句之外使用,则在if语句中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32061509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档