我有一个简单的 if 条件,像这样,
if (gl.Node.moveUp.call(this) && this.parent._currentScene()) {
// Do something
}
两个函数都返回一个布尔值,条件是否按顺序评估?
gl.Node.moveUp
更改调用它的对象中的某些内容,即使_currentScene
返回 false,我仍然希望发生这种情况。
所以在伪代码中,如果条件输出类似于
if (true && false) {
}
调用是否gl.Node.moveUp
仍会被执行并更改调用对象,或者因为整体条件评估为假,javascript 是否会回滚?
如果像下面这样的条件,将它包装成两个会更好吗?
if (gl.Node.moveUp.call(this)) {
if (this.parent._currentScene()) {
}
}