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 相关文章推荐
使Ext的Template可以解析二层的json数据的方法
Dec 22 Javascript
jquery网页回到顶部效果(图标渐隐,自写)
Jun 16 Javascript
jQuery中:has选择器用法实例
Dec 30 Javascript
angularjs+bootstrap菜单的使用示例代码
Mar 07 Javascript
jQuery UI Grid 模态框中的表格实例代码
Apr 01 jQuery
JQuery实现定时刷新功能代码
May 09 jQuery
Angular限制input框输入金额(是小数的话只保留两位小数点)
Jul 13 Javascript
防止页面url缓存中ajax中post请求的处理方法
Oct 10 Javascript
vue基础之v-bind属性、class和style用法分析
Mar 11 Javascript
详解key在Vue列表渲染时究竟起到了什么作用
Apr 20 Javascript
jquery实现聊天机器人
Feb 08 jQuery
vue中data改变后让视图同步更新的方法
Mar 29 Vue.js
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中source #N问题的解决方法
2014/01/27 PHP
jquery实现加载等待效果示例
2013/09/25 Javascript
JavaScript 开发工具webstrom使用指南
2014/12/09 Javascript
jQuery实现表格颜色交替显示的方法
2015/03/09 Javascript
使用Script元素发送JSONP请求的方法
2016/06/12 Javascript
Javascript vue.js表格分页,ajax异步加载数据
2016/10/24 Javascript
用js控件div的滚动条,让它在内容更新时自动滚到底部的实现方法
2016/10/27 Javascript
jQuery实现的模拟弹出窗口功能示例
2016/11/24 Javascript
详谈javascript精度问题与调整
2017/07/08 Javascript
angular json对象push到数组中的方法
2018/02/27 Javascript
浅谈React Native 传参的几种方式(小结)
2019/05/21 Javascript
详解Vue Cli浏览器兼容性实践
2020/06/08 Javascript
[02:07]DOTA2超级联赛专访BBC:难忘网吧超神经历
2013/06/09 DOTA
[03:36]2014DOTA2 TI小组赛综述 八强诞生进军钥匙球馆
2014/07/15 DOTA
[41:08]TNC vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[01:07:57]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第二场 1月19日
2021/03/11 DOTA
python为tornado添加recaptcha验证码功能
2014/02/26 Python
对命令行模式与python交互模式介绍
2018/05/12 Python
python使用xlsxwriter实现有向无环图到Excel的转换
2018/12/12 Python
python实现移位加密和解密
2019/03/22 Python
Python ORM编程基础示例
2020/02/02 Python
python3实现将json对象存入Redis以及数据的导入导出
2020/07/16 Python
美国著名手表网站:Timepiece
2017/11/15 全球购物
Lentiamo丹麦:购买便宜的隐形眼镜
2021/01/13 全球购物
编写类String的构造函数、析构函数和赋值函数
2012/05/29 面试题
yy生日主持词
2014/03/20 职场文书
全国税务系统先进集体事迹材料
2014/05/19 职场文书
区长工作作风个人整改措施
2014/10/01 职场文书
标准离婚协议书(2014版)
2014/10/05 职场文书
2015高三毕业寄语赠言
2015/02/27 职场文书
初中生物教学随笔
2015/08/15 职场文书
CSS3实现的3D隧道效果
2021/04/27 HTML / CSS
Python上下文管理器Content Manager
2021/06/26 Python
MySQL的安装与配置详细教程
2021/06/26 MySQL
Python办公自动化解决world文件批量转换
2021/09/15 Python
关于MySQL中explain工具的使用
2023/05/08 MySQL