【发布时间】:2012-12-13 11:53:49
【问题描述】:
有什么方法可以模仿 php 中的 javascripts 松散变量处理吗? 例如,在php中我必须写
$instituteID = ( isset( $p['regInstituteName'] ) && isset( $p['regInstituteName']['ID'] ) ) ? $p['regInstituteName']['ID'] : null;
而在 javascript 中这会浓缩为
instituteID = p.regInstituteName && p.regInstituteName.id || null;
看起来并没有太大的不同,但它加起来
【问题讨论】:
-
没有。您最好的选择是使用压缩三元运算符
?:来替换惰性 OR||。 -
在我个人看来,最好的方法是不要编写这种非平凡的表达式。请想想这些纯粹的人,他们将来会尝试理解你的代码。
-
就我个人而言,我会将其抽象为一个这样使用的函数:
$institureId = ifDefined($p, 'regInstituteName.ID') -
@Deestan,我也有类似的想法。但你的看起来更好,谢谢。
标签: php javascript variables