[2 在PHP
中很常见
看到这样写的代码:
if($ summary = get_post_summary())
{
返回$摘要;
}
if($summary = get_post_summary()) { return $summary; }的两件事: 首先,分配返回一个值(您分配的值)。其次也是最重要的是,它返回的值评估为True或False,并最终确定条件是否通过。 现在,在DOM
if(summary = document.getElementById("post-summary")) { return summary.innerHTML; },node = e? e.target:event.srcelement; 做 { names.push(node.nodeName); } while(node = node.parentnode) 但是在JavaScript中的其他地方,您可能会发现自己在不那么可靠的领域,因为事实证明是直觉的真实或错误。 例如,正数和负数,例如,除了零和nan 以外,对true进行了评估。而奇怪,一个对象 使用布尔构建器创建,即使它是作为new boolean(false)创建的,也可以评估为true! 所以要警告!这样的语法不是为了闲聊。不应以狂热的方式使用它,而过度依赖类型的转换和任意值的铸造。但是在合适的情况下使用良好,它可以简化许多条件以生成更快,更精简的代码。 [2
var names = [], node = e ? e.target : event.srcElement; do { names.push(node.nodeName); } while(node = node.parentNode)内部分配的问题(常见问题解答) 编程中的条件中的分配是什么? 为什么在条件表达式中执行作业是错误的练习?在条件表达式中分配可能会导致混淆和潜在的错误和潜在的错误。这是因为分配运算符(=)可以很容易地被误认为相等性运算符(==)。结果,本来可以进行比较的条件可能会无意中成为一项任务,从而导致代码中的意外行为。此外,条件下的分配可以使代码更难阅读和理解,尤其是对于经验不足的程序员。我如何避免在条件表达式中的作业?
避免有条件表达式中的作业,您可以将作业和条件检查和条件检查分为两个单独的代码。例如,如果(x = getValue())代替编写,您可以编写x = getValue();如果(x)。这使得代码更清晰,并降低了混乱或错误的风险。是否有任何情况,条件下的分配是可以接受的,甚至有益的?分配运算符和等式运算符之间有什么区别?
如何在条件下处理分配?在条件下作业引起的一个常见分配是一个无意识的分配,当比较打算进行比较。例如,如果(x = 5)始终是正确的,因为它分配了5至x,而不是检查x是否等于5。这可能导致代码中的意外行为。
如何调试条件下的分配引起的问题?并非所有编程语言都允许在条件下进行分配。例如,Python不允许在条件下进行分配,如果您尝试这样做,将会出现语法错误。始终查看您正在使用的编程语言的语法规则。
条件下分配的替代方案?免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3