使用 jQuery 连续多个 If 语句

发布于 2024-11-16 15:03:07 字数 427 浏览 6 评论 0原文

我想向一个函数添加多个 if 语句。我使用 YouTube 的 iFrame API 在视频播放或暂停时执行不同的操作。我目前有以下代码:

      function onPlayerStateChange(newState) {
        console.log(newState);

        if (newState.data == 1) {
          //do something
          return false;
        } else {
          //do something else
          return false;
        }
      }

当我只有第一个 if 语句时它工作得很好,但当我向其中添加 else 子句时它会中断。如何使用 jQuery 检查这样的多个条件?

I would like to add multiple if statements to a function. I am using YouTube's iFrame API to do different actions when the video is play or paused. I currently have the following code:

      function onPlayerStateChange(newState) {
        console.log(newState);

        if (newState.data == 1) {
          //do something
          return false;
        } else {
          //do something else
          return false;
        }
      }

It works great when I only have the first if statement, but breaks when I add the else clause to it. How do you check for multiple conditions like this with jQuery?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

九公里浅绿 2024-11-23 15:03:07

newState.data 上使用 switch,如下所示:

switch(newState.data){
    case 1:
       //do something
       //break or return true/false
    case 2:
       //Do something else
       break;
    case 3:
       break;
    default:
       //Do something when newState.data is NOT 1, 2 or 3
       break;
}

Use a switch on newState.data, like this:

switch(newState.data){
    case 1:
       //do something
       //break or return true/false
    case 2:
       //Do something else
       break;
    case 3:
       break;
    default:
       //Do something when newState.data is NOT 1, 2 or 3
       break;
}
深海少女心 2024-11-23 15:03:07

使用 if ... else 的代码是一种“非此即彼”的方法。我并不完全清楚你想做什么。然而,语法是有效的,所以它一定是失败的逻辑。

如果要执行多个独立操作,请使用连续的 if 块,例如:

if (newState.data == 1) {
  //do something
}
if (anotherCondition) {
  //do something more
}
return false;

如果需要满足多个条件:

if (newState.data == 1 && anotherCondition) {
  //do something
  return false;
}

Your code with the if ... else is an "either-or" approach. It's not entirely clear to me what you're trying to do. However, the syntax is valid so it must be the logic that fails.

If you want to do multiple independent action, use sequential if blocks, e.g.:

if (newState.data == 1) {
  //do something
}
if (anotherCondition) {
  //do something more
}
return false;

If multiple conditions need to be true:

if (newState.data == 1 && anotherCondition) {
  //do something
  return false;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文