【发布时间】:2014-09-07 19:46:29
【问题描述】:
以下语法在 PHP 中运行良好:
if($data = check_database($conds)) var_dump($data);
else echo "Not found";
但是,在 Javascript 中,我找不到等效的速记:
/*THIS CREATES A GLOBAL VARIABLE:*/
if(data = check_database(conds)) console.log(data);
else console.log("Not found.");
/*THIS RESULTS IN A SYNTAX ERROR (unexpected token var):*/
if(var data = check_database(conds)) console.log(data);
else console.log("Not found.");
有没有办法让我在 if(和其他)语句中用 JavaScript 声明一个本地范围的 var。 注意:这对于 for 语句来说不是问题,它需要完整的语句作为参数。
最终,我想避免以下冗长的语法:
/*THIS HAS THE DESIRED EFFECT, BUT UNDESIRED (VERBOSE) SYNTAX*/
var data;
if(data = check_database(conds)) console.log(data);
else console.log("Not found.");
【问题讨论】:
-
最终,在 if 语句中运行赋值存在维护风险。习惯以这种方式做事并因此遭受一堆错误,因为您现在不知道何时分配以及何时进行比较。我的意思是看起来有点相似,不是吗?在一条线上做一件事。冗长是好的。简洁而牺牲清晰度……真的吗?
标签: javascript