gpt4 book ai didi

javascript - 需要澄清使用 0 和三元运算符

转载 作者:行者123 更新时间:2023-11-27 22:45:19 24 4
gpt4 key购买 nike

我正在阅读游戏中编写的源代码。部分行写法如下:

0 ? player.y > global.screenHeight/2 : global.screenHeight/2 - player.y

假设player是一个具有位置的 Sprite ,而global只是从包含一些属性的其他文件导入。上面的代码做了什么?我认为三元运算符会是这样的:

c ? a : b 

其中 ab 属于同一类型,c 是条件。

但是游戏演示运行顺利,所以上面的代码应该没问题。我只是不明白代码的含义。

代码从这里提取:
https://github.com/huytd/agar.io-clone/blob/master/src/client/js/app.js

最佳答案

在上面的三元语句中,0 是条件。

因为Javascript将0视为falsy ,该语句的计算方式就好像写成:

false ? player.y > global.screenHeight/2 : global.screenHeight/2 - player.y

因此,将返回global.screenHeight/2 - player.y

作者可能将三元放在那里作为开关。通过将 0 替换为 1,三元语句将返回 player.y > global.screenHeight/2

关于javascript - 需要澄清使用 0 和三元运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38449724/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com