奇怪的JavaScript If语句

波波

我不确定if语句有什么问题。我正在尝试在JavaScript中使用我的模型。

if (@Model !== null)
{
    if (@Model.Level !== null)
    {
        //use @Model.Level
    }
}
else
{
    //use default
}

该模型为null,但它仍会进入第一个if语句(并明显在第二个if语句上中断)。我试过@Model!@Model!=但它仍然始终步骤英寸

我究竟做错了什么?(在两个!==都说存在语法错误的情况下,它还带有波浪状的红色线条

Bura chuhadar

在JavaScript中,三元方程式无需类型转换即可工作。在您的情况下,您可能会得到一个未定义的对象,该对象不是null值。

例如:

undefined === null //Do not cast when comparing, increased performance.
false
undefined == null //Do cast when comparing, decreased performance.
true

另外,如果@Model值为null,则在客户端不会看到null值。它为您提供了一个空值,如下所示:

if( == null)
{
}

这将在您的JavaScript端导致错误。空检查应在服务器端进行。因此,您必须在代码前加上@ value使其成为服务器端:

<script>
    @if (Model != null) //Server side code.
        { 
            if (Model.Level != null) //still server side code.
            {

                 <text>
                   alert("your javascript here"); //write javascript on your screen.
                 </text>  
            }
        }
</script>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章