【发布时间】:2015-07-17 14:06:37
【问题描述】:
我读到,在 CF 中,您应该始终为变量设置范围,因为如果您不提供显式范围,CF 将不得不搜索范围,直到找到变量。真的是这样吗?如果是这样,test2() 会是更有效的函数编写方式吗?
<cfscript>
function test() {
var result = 5;
result = 42;
return result;
}
function test2() {
var result = 5;
Local.result = 42;
return Local.result;
}
</cfscript>
【问题讨论】:
-
我应该烤巧克力蛋糕还是香草蛋糕。哪个最好?嗯...这不是一个意见网站。这是一个提出问题的网站,可以在不考虑意见的情况下回答。
-
@EvikJames 我读到的论点是,如果您明确地确定变量的范围,那么代码将更有效率,因为 CF 不需要搜索范围。因此,这个问题有一个不依赖于意见的技术答案。
-
“最佳实践”始终是一种意见。也许你应该改写这个问题,而是问哪个是“最快的”,或者哪个使用最少的处理,或者哪个......我不知道,还有其他一些标准。
-
查看 Leigh 的评论:stackoverflow.com/a/31336993/480894
-
始终范围。没有一个很好的理由不考虑范围。
标签: coldfusion coldfusion-9 cfml cfc