否则,如果语句具有 3 个或更多条件
Else if statement with 3 or more conditions?
我已经尝试了很长时间,似乎无法弄清楚我做错了什么。第一个条件似乎也有效,但第三个条件失败了。
function spriteAI1() {
if (c2Sprite.position.x >= 30 && c2Sprite.position.x <= 450) {
c2Sprite.translateX( -10 );
} else if (c2Sprite.position.x <= 30 && c2Sprite.position.x >= -450) {
c2Sprite.translateX( 10 );
} else if (c2Sprite.position.z = 30 && c2Sprite.position.x = 30) {
c2Sprite.remove;
c2Sprite.clone;
}
else{}
}
function spriteAI2() {
if (c2Sprite.position.z >= 30 && c2Sprite.position.z <= 350) {
c2Sprite.translateZ( -10 );
} else if (c2Sprite.position.z <= -30 && c2Sprite.position.z >= -350) {
c2Sprite.translateZ( 10 );
} else if (c2Sprite.position.x = 30 && c2Sprite.position.z = 30) {
c2Sprite.remove;
c2Sprite.clone;
}
else{}
}
我在线收到错误
else if (c2Sprite.position.x = 30 && c2Sprite.position.z = 30)
错误说invalid left hand in assignment
.但是另一个函数的行基本相同,不会生成错误。
我可以在你的代码中看到两个问题。
首先,比较是使用==
(双等号)而不是单个等号(分配值)完成的。这可能是您问题的根源。
其次,您的最后两个条件与一组共同的值匹配(它们相交),在c2Sprite.position.x
等于 30 的情况下,它将输入第二个"if"。它将匹配第三个的条件,但它不会运行它。
确保始终定义分隔良好的条件组(除非这是您想要的行为)。
只是为了说清楚:
if (x >= 30) {
/* this matches 30 and above */
}
else if (x == 30) {
/* this won't execute on x == 30, because it entered the first "if" */
}
您应该这样做:
if (x > 30) {
/* this matches numbers strictly greater than 30, i.e. 31, 32, 33... */
}
else if (x == 30) {
/* this will match x == 30 */
}
else {
/* any other value for x */
}
相关文章:
- Javascript,如果条件在没有&&逻辑运算符当&&它不起作用
- 如果条件匹配,则停止执行脚本
- 如果满足某些条件,我如何才能创建一个只有值的对象
- 如果条件为循环-性能差异
- 如果满足某些条件,如何在不调用模态的情况下首先调用类
- 根据条件将函数放入数组中(如果选中复选框)
- 如果($_SERVER[“REQUEST_METHOD”]=“POST”)条件在ajax调用不同的php文件进行验证和提
- 如果函数PHP中的条件为true,则禁用链接
- 如果条件将长 JavaScript 拆分为多行是否安全
- 如果条件在代码点火器的模型中不起作用
- 如果条件推送包含/匹配字符串的值
- Ember.js:如果控制器中满足某些条件,则在路由器中重定向
- Javascript 'while' 循环,如果条件为 false,如何停止迭代
- JavaScript / jquery:如果选择了单选按钮并且数据属性符合条件,则添加类
- 如果条件,则在其他操作之后调用 Redux 操作
- 如果只有一次有条件,如何执行
- Jquery - 如果条件为真,则遍历选择器并执行某些操作
- JavaScript条件(如果并行)
- 更好的性能?200+ 个单独的结果页面或 200+ 个条件(如果还有其他梯形图或开关大小写?)在 Javascript/
- js条件:如果不是false、null或undefined,那么