Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 变量是否已设置/定义?_Javascript_Jquery_Html_Forum_Mybb - Fatal编程技术网

Javascript 变量是否已设置/定义?

Javascript 变量是否已设置/定义?,javascript,jquery,html,forum,mybb,Javascript,Jquery,Html,Forum,Mybb,我正在使用一个论坛软件,在那里你可以使用以下链接调出一个头像链接:{$mybb->user['avatar']} 如果没有设置化身,则不会返回任何内容。如果没有设置头像,我想显示一个图像 当前HTML的设置如下所示: <div id="avatar"><div style="background: url({$mybb->user['avatar']}) center center no-repeat;"></div></div>

我正在使用一个论坛软件,在那里你可以使用以下链接调出一个头像链接:{$mybb->user['avatar']}

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

当前HTML的设置如下所示:

    <div id="avatar"><div style="background: url({$mybb->user['avatar']}) center center no-repeat;"></div></div>
如果化身URL为空,我希望将defaultavatar类添加到第一个div

我怎样才能做到这一点(让它工作)

非常感谢,
Jack Clarke

在您的
条件下,如果
出现语法问题。单一相等是赋值

至少改变这个

if(typeof(myavatar) = null)   


if
条件下,语法有问题。单一相等是赋值

至少改变这个

if(typeof(myavatar) = null)   


根据
{$mybb->user['avatar']
返回的内容,可能足以执行以下操作:

if (myavatar) {
  // do stuff
}  

根据
{$mybb->user['avatar']
返回的内容,可能足以执行以下操作:

if (myavatar) {
  // do stuff
}  

在javascript中,
undefined
有两种含义。我不确定它们的确切名称,例如,我将它们称为undefined和REALLY undefined

常规的
undefined
是当您试图从已声明但未初始化的内容中获取值时得到的。换句话说,解释器知道您正在谈论的内容,但该内容还没有价值

您可以使用一个简单的if语句来将变量转换成布尔值,以检查它是否是这种类型的<代码>未定义< /代码>。请注意,该转换也将空字符串“代码>”/代码>和“数字<代码> 0”/代码>到<代码> false < /代码>。如果需要考虑空字符串和数字<代码> 0 < /代码>,请使用<代码> MyDealReDV。变量===条件的未定义

if (myDeclaredVariable) {
    // myDeclaredVariable is initialized with a "truthy" value
} else {
    // myDeclaredVariable is either uninitialized or has a "falsey" value
}
真正的
未定义的
是当您尝试访问一个随机变量而从未声明它时得到的。解释器不知道您在说什么,如果您尝试对它执行任何操作,它将抛出一个javascript异常。要处理这种情况,您需要使用


您可以看到一个相关的StackOverflow问题。

在javascript中,
未定义的
有两种含义。我不确定它们的确切名称,例如,我将它们称为未定义的和真正未定义的

常规的
undefined
是当您试图从已声明但未初始化的内容中获取值时得到的。换句话说,解释器知道您正在谈论的内容,但该内容还没有价值

您可以使用一个简单的if语句来将变量转换成布尔值,以检查它是否是这种类型的<代码>未定义< /代码>。请注意,该转换也将空字符串“代码>”/代码>和“数字<代码> 0”/代码>到<代码> false < /代码>。如果需要考虑空字符串和数字<代码> 0 < /代码>,请使用<代码> MyDealReDV。变量===条件的未定义

if (myDeclaredVariable) {
    // myDeclaredVariable is initialized with a "truthy" value
} else {
    // myDeclaredVariable is either uninitialized or has a "falsey" value
}
真正的
未定义的
是当您尝试访问一个随机变量而从未声明它时得到的。解释器不知道您在说什么,如果您尝试对它执行任何操作,它将抛出一个javascript异常。要处理这种情况,您需要使用


你可以看到一个相关的StackOverflow问题。

要检查typeof,你应该做
typeof(myavatar)==“undefined”
你可能还想在“{$mybb->user['avatar']}”周围加引号,我假设php变量正在输出一个字符串。要检查typeof,你应该做
typeof(myavatar)==“undefined”
您可能还希望在“{$mybb->user['avatar']}”周围加引号,我假设php变量正在输出字符串。欢迎使用堆栈溢出。4空格缩进格式代码,语法高亮显示。或者高亮显示并单击
{}
工具栏中的按钮我将其更改为您所说的内容,但似乎不起作用。这是源代码显示的:var myavatar=;if(typeof(myavatar)='undefined'){jQuery('#avatar').addClass('defaultavatar');}if('{$mybb->user['avatar']}}=='{jQuery avatar').addClass('defaultavatar'))你知道网站应用程序使用的是哪种php模板引擎吗?它与我以前使用的模板引擎Smarty非常相似,但绝对不是Smarty语法。你知道网站应用程序使用的是哪种php模板引擎吗?它与我以前使用的模板引擎Smarty非常相似,但绝对不是Smarty语法。你需要了解正确的模板引擎以获得正确的语法。或者,您可以尝试使用alert()检查myavatar的值。它应该检查php语法是否将正确的值传递给javascript变量。然后,您可以知道此javascriptWelcome to Stack Overflow中的php“null”值是什么类型。4空格缩进格式代码,语法突出显示。或者突出显示并单击
{}
工具栏中的按钮我将其更改为您所说的内容,但似乎不起作用。这是源代码显示的:var myavatar=;if(typeof(myavatar)='undefined'){jQuery('#avatar').addClass('defaultavatar');}if('{$mybb->user['avatar']}}=='{jQuery avatar').addClass('defaultavatar'))你知道网站应用程序使用的是哪种php模板引擎吗?它与我以前使用的模板引擎Smarty非常相似,但绝对不是Smarty语法。你知道网站应用程序使用的是哪种php模板引擎吗?它与我以前使用的模板引擎Smarty非常相似,但绝对不是Smarty语法。你需要了解正确的模板引擎以获得正确的语法。或者,您可以尝试使用alert()检查myavatar的值。它应该检查php语法是否将正确的值传递给javascript变量。然后您可以知道此javascript中的php“null”值是什么类型