变量集/定义问题?

我正在使用一个论坛软件,您可以使用以下方法提取头像链接:{$ mybb-> user [‘avatar’]}

如果没有设置头像,则不返回任何内容。 如果没有设置头像,我想显示图像。

目前HTML的设置如下:

user['avatar']}) center center no-repeat;">

外部div是空的并且在后台。 这个也是我正在添加一个类(.defaultavatar),以便显示默认的头像。

内部div是具有化身显示的那个。 如果没有上传/选择头像,则它将显示为空白。

这是我正在使用的javascript:

  var myavatar = {$mybb->user['avatar']}; if(typeof(myavatar) = null){ jQuery('#avatar').addClass('defaultavatar'); } 

如果头像URL为空,我希望将类defaultavatar添加到第一个div。

我怎么能这样做(让它工作)?

非常感谢,杰克克拉克

javascript中有两个undefined含义。 我不确定它们的确切名称是什么,对于我的例子,我将它们称为未定义且真正未定义。

当您尝试从已声明但未初始化的内容中获取值时,会获得常规的undefined 。 换句话说,解释器知道你正在谈论的事情,但那件事还没有价值。

您可以使用简单的if语句将变量强制转换为布尔值,以检查它是否为此类型的undefined 。 请注意,此强制转换也会将空字符串''和数字0false 。 如果您还需要考虑空字符串和数字0 ,请使用myDeclaredVariable === undefined作为条件。

 if (myDeclaredVariable) { // myDeclaredVariable is initialized with a "truthy" value } else { // myDeclaredVariable is either uninitialized or has a "falsey" value } 

真正undefined是当你试图访问一个随机变量而你甚至没有声明它时得到的。 解释器不知道你在说什么,如果你试图用它做任何事情,它会抛出一个javascriptexception。 要处理这种情况,您需要使用typeof运算符 。

 if (typeof myPossiblyDeclaredVariable !== 'undefined') { // myPossiblyDeclaredVariable has been declared } else { // myPossiblyDeclaredVariable has not been declared yet } 

您可以在此处查看相关的StackOverflow问题。

if条件下,语法有问题。 单一等于分配。

至少改变这个

 if(typeof(myavatar) = null) 

 if (typeof myavatar == 'undefined') 

取决于{$mybb->user['avatar']返回的内容,可能就足够了:

 if (myavatar) { // do stuff }