sub和function运行速度的区别

Office中国(office-cn.net),专业Office论坛
当前位置: >
Function与Sub的异同(函数调用)
时间: 15:46 来源:office中国 作者:admin 阅读:次
& & 过程(Procedure),是有明显开始和结束标识的代码段,它是有名字的语句序列,可作为单元来执行。例如,Function、Property和 Sub 都是过程类型。它是来实现一个程序逻辑,用来执行特定任务的一段独立的程序代码,这段代码能被反复调用,VBA的模块以过程为单元组成。
& &相同点:它们都是一个可以获取参数,执行一系列语句,以及改变其参数的值的独立过程。
& &不相同:Sub与 Function 过程不同的是:带返回值的 Sub 过程不能用于表达式。从其它过程调用一个 Sub 过程时,必须键入过程名称以及所需要的参数值。而 Call 语句并不需要,不过若使用它,则所有参数必须以括号括起来。
& & 总结:所以自定义函数可以很方便地得到一个返回值,我们可以将数据处理的结果通过这个返回值带回到调用处,自定义函数多用于计算场合。Sub过程不用于计算,只是完成一组计算操作。Sub过程只执行操作不返回值,Function函数执行操作后返回结果
(责任编辑:admin)ASP中Sub和Function的区别说明
字体:[ ] 类型:转载 时间:
主要的区别是有返回值,一般sub是用来调用大量的内容的时候用sub,对于需要计算并需要返回值的时候用function,多用function定义函数。
SUB和FUNCTION有什么不同呢,他们的语法应该怎么构成? Sub:过程; Function:函数,可以带返回值 语法: Sub SubName(参数1, 参数2,...) .... End Sub Function FunctionName(参数1, 参数2,...) ... FunctionName = 返回值 End Function 调用方法: Sub直接用 SubName 参数1, 参数2,... Function如果不要返回值,用 FunctionName 参数1, 参数2,... 如果要返回值,则 Result = FunctionName(参数1, 参数2,...) 语法是这样,这是对的 Sub SubName(参数1, 参数2,...) .... End Sub Function FunctionName(参数1, 参数2,...) ... FunctionName = 返回值 End Function 调用时: sub 只能用: SubName 参数1, 参数2,... 函数则: 变量=FunctionName (参数1, 参数2,...) FunctionName 参数1, 参数2,... 上面均未讲出根本: SUB与FUNCTION均可有返回值。所以首先要讲清返回方式:有两种,过程或函数返回,即分配与过程或函数同名的返回变量地址。function分配,但sub不分配。VB用此方式加以区分,VC则用VOID声明不用分配。即如p=aa()若aa()是sub则什么也得不到,还会报错。但函数则会得到数值。其次,参数返回,VB中缺省用地址传参,即能返回。但声明为BYVAL即值传参,则不可返回,所以,不存在灵活性的差别。比如函数function bb(a,b), 调用时可以bb m, n也可以p=bb(m,n). 实际,如果确认不会失败,才能用SUB,否则,必须要用FUNCTION以确认是否成功或取得返回值。所以编程,应少用SUB,少用 SubName 参数1, 参数2,...的调用方式。 sub是过程不需要返回值;function是函数,需要返回值,如下:
代码如下: Function NameOfFunction(parameter1, parameter2) 'some code NameOfFunction = return value End Function
代码如下: Sub NameOfSubRoutine(parameter1, parameter2) 'some code... End Sub
除了function有返回一个值的区别外,在ASP中好像没有多大的区别,把sub写成FUNCTION好像效果一样。 sub无返回值 调用sub 可call sub 调用function 可 &%=function%& 通常可以用function代替一切,除了一些一定要用sub的——例如事件的触发要是(private sub xxx_OnYYY)。用function的好处是又返回值,对于你认为用sub就行的,用function的返回值就是用来告诉你程序是否有出错的。一般来说返回0表示成功,其他数值就是错误代。
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具function与sub区别——转帖 _ 精华与推荐帖 - 按键精灵论坛
腾讯微博:
软件版本:2014.05软件大小:76.8M更新时间:2-21
软件版本:3.2.3软件大小:62.5M更新时间:05-03
软件版本:1.2.5软件大小:29.2M更新时间:04-18
软件版本:1.1.0软件大小:12.3M更新时间:12-29
查看: 20080|回复: 39
过大年勋章俩小福娃给大家拜年啦!天使勋章天使一样的用户黄金之翼黄金之翼勋章骨灰级按键用户3年以上的按键论坛用户按键精灵开发者6级可通过提升认证等级来升级勋章:小红帽对论坛提出良好建议(可向管理员申请)发帖高手鼓励积极回复,但注意不要灌水哦学有所成学有所成勋章,新手步入按键学堂的第一枚勋章按键元老资深按键用户的尊贵荣誉勋章
FUNCTION返回值,SUB不返回值SUB过程FUNCTION函数用RETURN返回值如果函数没有返回值,完全可以写成sub。函数可以参加运算。3、Sub和Function都是VBScript中的过程。打个比方,我们大家想知道V37的谈恋爱的过程。有些人只想知道他谈恋爱的过程(Call Sub)。有些人既想知道过程,又要知道结果有没有结婚(Call Function)假设谈恋爱这个过程中由给MM打电话、陪MM逛街、给MM送礼物等动作组成。那Sub 谈恋爱()和Function 谈恋爱()有什么不同呢?代码:Sub 谈恋爱()
给MM打电话
给MM送礼物End SubFunction 谈恋爱()
给MM打电话
给MM送礼物
If (mm愿意和他结婚) Then
谈恋爱 = 成功
谈恋爱 = 失败
End IfEnd Function在调用Sub 和 Function也有不同,因为Sub没有返回值,只要代码:
Call 谈恋爱()就可以了。在Function有返回值,所以可以把返回值赋给变量代码:Dim sReturn
sReturn = 谈恋爱()
额,我想知道function假如有2个返回值怎么办?为什么function中没有用到return呢
fly with me
脚本作者商业小精灵作者绑定账号后自动赠送发帖高手鼓励积极回复,但注意不要灌水哦学有所成学有所成勋章,新手步入按键学堂的第一枚勋章按键精灵开发者2级可通过提升认证等级来升级勋章:
return只能有一个返回值。需要2个的话,建议从全局变量着手。
多谢 受教了
学有所成学有所成勋章,新手步入按键学堂的第一枚勋章发帖高手鼓励积极回复,但注意不要灌水哦小红帽对论坛提出良好建议(可向管理员申请)按键会员(季)按键会员绑定账号后自动赠送按键精灵开发者3级可通过提升认证等级来升级勋章:
脚本我看了下 慢慢吸收消化 有的学
学有所成学有所成勋章,新手步入按键学堂的第一枚勋章发帖高手鼓励积极回复,但注意不要灌水哦
代码诚不欺我也!
hot1987115
脚本作者商业小精灵作者绑定账号后自动赠送
这才是精贴,看了那么多。你的最懂!
按键会员(月)按键会员绑定账号后自动赠送学有所成学有所成勋章,新手步入按键学堂的第一枚勋章
前者有返回值!!!!
发帖高手鼓励积极回复,但注意不要灌水哦龙年勋章(360天)龙年纪念勋章(360天)学有所成学有所成勋章,新手步入按键学堂的第一枚勋章按键精灵开发者2级可通过提升认证等级来升级勋章:
果然。。精帖就是不一样
按键会员(月)按键会员绑定账号后自动赠送
学习了啊。。。。。
﹏丶夜孤寂。
QUI设计大师QUI设计大师学有所成学有所成勋章,新手步入按键学堂的第一枚勋章
按键精灵开发者2级可通过提升认证等级来升级勋章:
按键精灵开发者4级可通过提升认证等级来升级勋章:
卖家脚本开发+话费充值
我的淘宝店铺:
按键精灵开发者4级可通过提升认证等级来升级勋章:
卖家脚本开发+话费充值
我的淘宝店铺:
学有所成学有所成勋章,新手步入按键学堂的第一枚勋章按键精灵开发者4级可通过提升认证等级来升级勋章:
function中文意思:功能;函数。在这里是函数的意思,然后你想一想数学中函数的定义,它们是一样的。Y是返回值,参数是X,语句是运算法则。所以它有且只有一个返回值。如果需要多个返回值只能变通改变全局变量的值,或者返回一个数组地址。
广告位,招租。。每月30银币。。呵呵
有兴趣站内发消息。。
按键15周年庆纪念勋章按键15周年庆纪念勋章(365天)创业榜样(30天)参加暑期创业征文活动,成为创业榜样!按键精灵开发者6级可通过提升认证等级来升级勋章:小编勋章感谢你为按键精灵教科书做出的贡献龙年勋章(360天)龙年纪念勋章(360天)教程达人教程达人学有所成学有所成勋章,新手步入按键学堂的第一枚勋章
支持下······
按键精灵写脚本培训联系QQ:
按键精灵开发者2级可通过提升认证等级来升级勋章:
学习了!!!!!!
帅的上车不买票
写的非常通俗易懂。顶一个。
按键精灵开发者2级可通过提升认证等级来升级勋章:
讲的太牛逼啦,一下明白当前位置: >
Sub过程与Function过程最根本的区别是()。
A.Sub过程不能返回值,而Function过程能返回值
B.Function过程可以有形参,Sub过程不可以。
C.Sub过程可以使用Call语句直接使用过程名调用,而Function过程不可以
D.两种过程参数的传递方式不同
所属学科:
试题类型:客观题
所属知识点:
试题分数:1.0 分
暂无学习笔记。
&&&&&&&&&&&&&&&希赛网 版权所有 & &&2012年10月 移动平台大版内专家分月排行榜第三2012年2月 移动平台大版内专家分月排行榜第三
2006年4月 VB大版内专家分月排行榜第一2006年3月 VB大版内专家分月排行榜第一2006年2月 VB大版内专家分月排行榜第一2006年1月 VB大版内专家分月排行榜第一2005年10月 VB大版内专家分月排行榜第一
2005年12月 VB大版内专家分月排行榜第二2005年11月 VB大版内专家分月排行榜第二
本帖子已过去太久远了,不再提供回复功能。}

我要回帖

更多关于 fuction 与 sub 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信