ASP中Sub和Function的区别说明


Posted in Javascript onAugust 30, 2020

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表示成功,其他数值就是错误代。

vbscript中Function与Sub的区别

一、Function与Sub概述:

Sub(子过程): sub是Subroutines的缩写,它的意思是子程序,它是将一段具有某种特定功能的语句区块单独编写成一个独立的程序,给予特定名称 。

Function(函数):表示每个输入值对应唯一输出值的一种对应关系 ,具备 Sub 的功能。

二、Function与Sub异同

相同点:
1)Sub和Function都是 vbscript 的过程,
2)可以传递参数,
3)是业务操作或业务处理的封装,都可以被重复调用。

不同点:
1)Sub无返回值,而Function可以有返回值。
2)调用Sub 和 Function也不同

三、举例[引用之前网上看的一个例子]:

大家应该都知道的谈恋爱的过程。有些人只想知道他谈恋爱的过程(Call Sub)。有些人既想知道过程,又要知道最终结果有没有结婚(Call Function)

假设:谈恋爱这个过程,由给MM打电话、陪MM逛街、给MM送礼物等等动作组成。

那么,Sub 谈恋爱()和Function 谈恋爱()有什么不同呢?

1)Sub 谈恋爱
Sub 谈恋爱()
给MM打电话
陪MM逛街
给MM送礼物
End Sub

调用方法:因为Sub没有返回值,只要在代码中: Call 谈恋爱()

2)Function谈恋爱
Function 谈恋爱()
给MM打电话
陪MM逛街
给MM送礼物
If (mm愿意和他结婚) Then
谈恋爱 = 成功
Else
谈恋爱 = 失败
End If
End Function

调用方法:因为Function有返回值,所以可以把函数返回值赋给变量,只要在代码中:result = 谈恋爱()

Javascript 相关文章推荐
10款非常有用的 Ajax 插件分享
Mar 14 Javascript
alert中断settimeout计时功能
Jul 26 Javascript
JavaScript中的call方法和apply方法使用对比
Aug 12 Javascript
JS实现的鼠标跟随代码(卡通手型点击效果)
Oct 26 Javascript
基于jQuery实现select下拉选择可输入附源码下载
Feb 03 Javascript
JS实现的数字格式化功能示例
Feb 10 Javascript
js实现抽奖效果
Mar 27 Javascript
防止页面url缓存中ajax中post请求的处理方法
Oct 10 Javascript
vue的token刷新处理的方法
Jul 17 Javascript
Vue+Bootstrap收藏(点赞)功能逻辑与具体实现
Oct 22 Javascript
解决vue中使用less/sass及使用中遇到无效的问题
Oct 24 Javascript
Vue+Vant 图片上传加显示的案例
Nov 03 Javascript
TBCompressor js代码压缩
Jan 05 #Javascript
关于Mozilla浏览器不支持innerText的解决办法
Jan 01 #Javascript
Js event事件在IE、FF兼容性问题
Jan 01 #Javascript
javaScript同意等待代码实现心得
Jan 01 #Javascript
javascript判断用户浏览器插件安装情况的代码
Jan 01 #Javascript
javascript 事件绑定问题
Jan 01 #Javascript
javascript跨域刷新实现代码
Jan 01 #Javascript
You might like
php如何控制用户对图片的访问 PHP禁止图片盗链
2016/03/25 PHP
php实现转换html格式为文本格式的方法
2016/05/16 PHP
PHP程序员简单的开展服务治理架构操作详解(三)
2020/05/14 PHP
让GoogleCode的SVN下的HTML文件在FireFox下正常显示.
2009/05/25 Javascript
Javascript 面向对象之重载
2010/05/04 Javascript
jQuery添加/改变/移除CSS类及判断是否已经存在CSS
2014/08/20 Javascript
推荐6款基于jQuery实现图片效果插件
2014/12/07 Javascript
超实用的javascript时间处理总结
2016/08/16 Javascript
js学习总结之DOM2兼容处理this问题的解决方法
2017/07/27 Javascript
基于require.js的使用(实例讲解)
2017/09/07 Javascript
JS实现动态添加外部js、css到head标签的方法
2019/06/05 Javascript
[46:25]DOTA2上海特级锦标赛主赛事日 - 4 败者组第五轮 MVP.Phx VS EG第二局
2016/03/05 DOTA
Python3指定路径寻找符合匹配模式文件
2015/05/22 Python
在Python中操作时间之mktime()方法的使用教程
2015/05/22 Python
Python中基本的日期时间处理的学习教程
2015/10/16 Python
Python 获得13位unix时间戳的方法
2017/10/20 Python
用Django实现一个可运行的区块链应用
2018/03/08 Python
Python面向对象程序设计OOP入门教程【类,实例,继承,重载等】
2019/01/05 Python
PyCharm下载和安装详细步骤
2019/12/17 Python
python中数据库like模糊查询方式
2020/03/02 Python
使用python执行shell脚本 并动态传参 及subprocess的使用详解
2020/03/06 Python
在Keras中利用np.random.shuffle()打乱数据集实例
2020/06/15 Python
Python自定义sorted排序实现方法详解
2020/09/18 Python
解决pytorch 保存模型遇到的问题
2021/03/03 Python
HTML5触摸事件实现移动端简易进度条的实现方法
2018/05/04 HTML / CSS
美国在线面料商店:Fashion Fabrics Club
2020/01/31 全球购物
品质主管岗位职责
2014/03/16 职场文书
购房协议书范本
2014/04/11 职场文书
歌颂祖国演讲稿
2014/05/04 职场文书
献爱心活动总结
2014/05/07 职场文书
银行进社区活动总结
2014/07/07 职场文书
家庭贫困证明书(3篇)
2014/09/15 职场文书
2015年见习期工作总结
2014/12/12 职场文书
教师求职自荐信
2015/03/26 职场文书
详解MySQL中的pid与socket
2021/06/15 MySQL
vue如何使用模拟的json数据查看效果
2022/03/31 Vue.js