if($summary = get_post_summary()) { return $summary; }我指的是条件中的作业。非常狡猾,它也可以在JavaScript中完成,尽管它不太常见:
if(summary = document.getElementById("post-summary")) { return summary.innerHTML; }乍一看,您认为这是错别字!确实,一些辩论者会通过警告标记这一点,询问您是否是指平等测试(==)并将其误认为是分配(=)。 但这不是一个错误 - 理解它的关键是要理解两件事: 首先,分配返回一个值(您分配的值)。其次也是最重要的是,它返回的值评估为True或False,并最终确定条件是否通过。 现在,在DOM>评估和遍历的世界中,此技术是一种安全且可预测的技术,因为Dom
var names = [], node = e ? e.target : event.srcElement; do { names.push(node.nodeName); } while(node = node.parentNode)直觉。 例如,正数和负数均评估为true,除了零和nan。而奇怪,一个对象 使用布尔构建器始终创建,即使它是新布尔(false)创建的! 所以要警告!这样的语法不是为了闲聊。不应以狂热的方式使用它,而过度依赖类型的转换和任意值的铸造。但是在合适的情况下使用良好,它可以简化许多条件以生成更快,更精简的代码。 缩略图信用:sbwoodside
经常询问的问题(常见问题解答)关于条件内部的分配
>我如何避免有条件表达式中的作业?
>
>是否存在任何情况下,条件下的分配是可以接受的,甚至有益的?>
>通常灰心,某些情况下有条件分配的情况可以是有益的。例如,在需要在每次迭代中更新和检查值的循环中,条件中的分配可以使代码更加简洁。但是,这应该谨慎进行,并应清楚地评论代码以避免混淆。
>>在条件下分配在条件下分配引起的一些常见错误是什么?例如,如果(x = 5)始终是正确的,因为它分配了5至x,而不是检查x是否等于5。这可能导致代码中的意外行为。
>>并非所有编程语言都允许在条件下进行分配。例如,Python不允许在条件下进行分配,如果您尝试这样做,将会出现语法错误。始终查看您正在使用的编程语言的语法规则。
以上是条件内的分配的详细内容。更多信息请关注PHP中文网其他相关文章!