2

我需要检查 Jquery Mobile 转换数据对象中的属性。该属性可以是未定义的,也可以是对话框值或其他值。

最初我只是这样检查:

$(document).on( "pagebeforechange", function( e, data ) {
    if(  A && B && data.options.role != "dialog" ){
        // do something
        }
     });

但是,当data.options.role未定义时,我永远不会输入 if 子句。我目前正在尝试这样,但并没有真正到达任何地方:

$(document).on( "pagebeforechange", function( e, data ) {
    if(  A && B && data.options.role != "undefined" && data.options.role != "dialog" ){
        // do something
        }
     });

问题
如果值未定义或具有值(不是对话框),我如何确保该值是查询并传递到 IF 子句?

感谢帮助!

4

1 回答 1

1

如果您的意思undefined是 javascript 的类型,那么您需要typeof像这样使用:

if(  A && B && typeof data.options.role != "undefined" &&
      data.options.role != "dialog" )

您还需要确保这一点,A并且B也将变得真实。

于 2012-05-29T10:42:15.607 回答