Javascript 相当于PHP';s`if($variable=5){}`

Javascript 相当于PHP';s`if($variable=5){}`,javascript,if-statement,expression,Javascript,If Statement,Expression,我不知道它本身是否有一个术语,但是,在PHP中,我可以做到: if ($variable = 5) { echo $variable; // 5 } 其中,JS同样失败: if (var variable = 5) { echo variable; // Unexpected token var } 是否有等效项?您可以在if子句之前声明变量变量: var variable; if (variable = 5) { console.log( variable );

我不知道它本身是否有一个术语,但是,在PHP中,我可以做到:

if ($variable = 5)
{
    echo $variable; // 5
}
其中,JS同样失败:

if (var variable = 5)
{
    echo variable; // Unexpected token var 
}

是否有等效项?

您可以在
if
子句之前声明变量
变量

var variable;

if (variable = 5)
{
    console.log( variable ); // logs 5
}

var变量
应位于函数块的开头,而不是表达式内部

var variable;
if( variable = 5) {
    alert(variable);
}

当然,它是完全冗余的…

您不能在
if
块中定义变量。因此,答案是否定的,您不能在javascript中这样做。在PHP中,变量定义将返回
true
,这将驱动
if

但是,赋值语句返回true,因此您可以使用:

var $variable;
if($variable = 5) {
    alert($variable);
}

似乎与
var变量一起工作;如果(variable=5).
。否,声明需要一个
var
语句,并且没有表达式等价物。目标是什么?您所展示的PHP代码看起来就像是不应该被允许的东西,以便拥有可维护的代码。这被称为将赋值放在条件中,这是一种糟糕的做法。哦,我明白了。我想,这意味着案例5被动态计算的内容所取代。更具体地说,PHP中没有变量定义。