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 相关文章推荐
Extjs中使用extend(js继承) 的代码
Mar 15 Javascript
AngularJs  Using $location详解及示例代码
Sep 02 Javascript
JS点击某个图标或按钮弹出文件选择框的实现代码
Sep 27 Javascript
javascript实现鼠标点击页面 移动DIV
Dec 02 Javascript
如何在 Vue.js 中使用第三方js库
Apr 25 Javascript
Node.JS文件系统解析实例详解
May 15 Javascript
基于 flexible 的 Vue 组件:Toast -- 显示框效果
Dec 26 Javascript
基于vue1和vue2获取dom元素的方法
Mar 17 Javascript
微信小程序实现红包雨功能
Jul 11 Javascript
微信小程序动态增加按钮组件
Sep 14 Javascript
微信小程序提交form操作示例
Dec 30 Javascript
pnpm对npm及yarn降维打击详解
Aug 05 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
thinkPHP3.2使用RBAC实现权限管理的实现
2019/08/27 PHP
屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 的javascript代码
2007/04/01 Javascript
JavaScript几种形式的树结构菜单
2010/05/10 Javascript
js中eval()函数和trim()去掉字符串左右空格应用
2013/02/02 Javascript
JS中的构造函数详细解析
2014/03/10 Javascript
extjs 分页使用jsp传递数据示例
2014/07/29 Javascript
Windows8下搭建Node.js开发环境教程
2014/09/03 Javascript
举例说明JavaScript中的实例对象与原型对象
2016/03/11 Javascript
深入浅析JavaScript中的作用域和上下文
2016/03/26 Javascript
jQuery 弹出层插件(推荐)
2016/05/24 Javascript
全面了解构造函数继承关键apply call
2016/07/26 Javascript
JS自定义函数对web前端上传的文件进行类型大小判断
2016/10/19 Javascript
JS实现移动端按首字母检索城市列表附源码下载
2017/07/05 Javascript
Express系列之multer上传的使用
2017/10/27 Javascript
JS数组求和的常用方法总结【5种方法】
2019/01/14 Javascript
[04:13]2018国际邀请赛典藏宝瓶Ⅱ饰品一览
2018/07/21 DOTA
[54:27]TNC vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python和shell监控linux服务器的详细代码
2018/06/22 Python
在python中使用requests 模拟浏览器发送请求数据的方法
2018/12/26 Python
Python面向对象之类的定义与继承用法示例
2019/01/14 Python
Python批量删除只保留最近几天table的代码实例
2019/04/01 Python
介绍一款python类型检查工具pyright(推荐)
2019/07/03 Python
使用python打印十行杨辉三角过程详解
2019/07/10 Python
python的debug实用工具 pdb详解
2019/07/12 Python
linux中如何使用python3获取ip地址
2019/07/15 Python
使用css实现android系统的loading加载动画
2019/07/25 HTML / CSS
李维斯法国官网:Levi’s法国
2019/07/13 全球购物
琳达·法罗眼镜英国官网:Linda Farrow英国
2021/01/19 全球购物
中学教师管理制度
2014/01/14 职场文书
大学生暑期社会实践证明范本
2014/10/24 职场文书
2014年纪检监察工作总结
2014/11/11 职场文书
好员工观后感
2015/06/17 职场文书
mybatis 获取无数据的字段不显示的问题
2021/07/15 Java/Android
Nginx反向代理至go-fastdfs案例讲解
2021/08/02 Servers
Python中time与datetime模块使用方法详解
2022/03/31 Python
Nginx如何限制IP访问只允许特定域名访问
2022/07/23 Servers