gpt4 book ai didi

actionscript-3 - 条件之间的区别

转载 作者:行者123 更新时间:2023-12-01 09:38:11 25 4
gpt4 key购买 nike

只是想知道是否有人可以解释这两个条件之间的区别:

if ( !object ) 

if ( object == null )

where object is an instance of a user-defined class.

我确定这两个不能互换使用,或者是吗?

谢谢。

最佳答案

实际上效果是一样的,所以我猜你可以说它们是可以互换的。

在 bool 上下文(例如条件)中,表达式被评估为真或假。

在 Actionscript 3.0 中,以下值的计算结果为 false:

  • 错误
  • 0
  • NaN
  • ""(空字符串)
  • 未定义
  • 无效

其他一切都为真。

对用户定义的类实例的引用可以为空或非空。

所以,在这种情况下:

if ( object == null )

显然,只有当 object 为 null 时才满足条件。

在其他情况下:

if ( !object )

如果 objectnull,则表达式 object 的计算结果为 false。如果是null,则表达式为假。由于这反过来又被否定了,所以最终值将是真的,因此条件将被满足。因此,就像第一种情况一样,如果 object 为 null,则满足条件。和第一种情况一样,如果 object 不为 null,则不满足条件。

如果您的变量被键入到用户定义的类,则没有其他选择;这样的变量只能包含有效的引用或空值;即它不能在 bool 上下文中保存任何可评估为 false 的值,但 null 除外;所以,再次,它要么为空,要么不为空。这就是为什么两个代码示例具有相同效果的原因。

关于actionscript-3 - 条件之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4136427/

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