首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与返回void相比,从函数返回一个值有什么好处吗?

与返回void相比,从函数返回一个值有什么好处吗?
EN

Stack Overflow用户
提问于 2012-04-24 23:17:18
回答 1查看 428关注 0票数 1

我主要使用ColdFusion,这是一种非编译语言,但这是所有语言的通用问题。

我正在使用getters/setters以及CRUD方法创建对象。下面是一个示例:

代码语言:javascript
复制
<cffunction name="getPeriodStartDate" output="false" returntype="Numeric">
    <cfreturn VARIABLES.PeriodStartDate />
</cffunction>

<cffunction name="setPeriodStartDate" output="false" returntype="Void">
    <cfargument name="PeriodStartDate" type="Numeric" required="true" />

    <cfset VARIABLES.PeriodStartDate = ARGUMENTS.PeriodStartDate />
</cffunction>

<cffunction name="getDollarAmount" output="false" returntype="Numeric">
    <cfreturn VARIABLES.DollarAmount />
</cffunction>

<cffunction name="setDollarAmount" output="false" returntype="Void">
    <cfargument name="DollarAmount" type="Numeric" required="true" />

    <cfset VARIABLES.DollarAmount = ARGUMENTS.DollarAmount />
</cffunction>


<cffunction name="read" output="false" returntype="Query">
    <!---
    READ QUERY
    --->

    <cfreturn _qData />
</cffunction>

<cffunction name="create" output="false" returntype="Void">
    <!---
    INSERT QUERY
    --->
</cffunction>

<cffunction name="update" output="false" returntype="Void">
    <!---
    UPDATE QUERY
    --->
</cffunction>

<cffunction name="delete" output="false" returntype="Void">
    <!---
    DELETE QUERY
    --->
</cffunction>

显然,get方法和read()方法将返回值。

但是,让其他方法返回值--可能是布尔值--有什么好处吗?

我在Flex/ActionScript中工作过,记得在大多数情况下,我需要从方法返回一些值,并为结果设置一个变量,以防止下一行代码处理:

代码语言:javascript
复制
function myFunc() {
    x = getSomething();

    y = getSomethingElse(x);
}
EN

回答 1

Stack Overflow用户

发布于 2012-04-24 23:26:55

如果在setter上返回this,则可以链接setter。我认为默认情况下,CF10访问器会返回this来启用链接。

前段时间我读到过返回void会更有效,但我不确定这是不是真的。我怀疑这种差异会不会很明显。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10300886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档