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 相关文章推荐
可以用来调试JavaScript错误的解决方案
Aug 07 Javascript
HTML长文本截取含有HTML代码同样适用的两种方法
Jul 31 Javascript
屏蔽相应键盘按钮操作
Mar 10 Javascript
超级简单的jquery操作表格方法
Dec 15 Javascript
浅谈javascript中call()、apply()、bind()的用法
Apr 20 Javascript
javascript中substring()、substr()、slice()的区别
Aug 30 Javascript
编写高性能Javascript代码的N条建议
Oct 12 Javascript
基于JS组件实现拖动滑块验证功能(代码分享)
Nov 18 Javascript
浅析如何利用angular结合translate为项目实现国际化
Dec 08 Javascript
微信小程序scroll-view实现字幕滚动
Jul 14 Javascript
Vue.js结合bootstrap前端实现分页和排序效果
Dec 29 Javascript
Java无向树分析 实现最小高度树
Apr 09 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中使用Imagick实现图像直方图的实现代码
2011/08/30 PHP
php实现简单的上传进度条
2015/11/17 PHP
PHP中Socket连接及读写数据超时问题分析
2016/07/19 PHP
无语,javascript居然支持中文(unicode)编程!
2007/04/12 Javascript
js 固定悬浮效果实现思路代码
2013/08/02 Javascript
js判断选择的时间是否大于今天的代码
2013/08/20 Javascript
js中的replace方法使用介绍
2013/10/28 Javascript
showModalDialog在谷歌浏览器下会返回Null的解决方法
2013/11/27 Javascript
document.forms用法示例介绍
2014/06/26 Javascript
JS根据年月获得当月天数的实现代码
2014/07/03 Javascript
简述Jquery与DOM对象
2015/07/10 Javascript
JavaScript中关键字 in 的使用方法详解
2016/10/17 Javascript
详解ES6之用let声明变量以及let loop机制
2017/07/15 Javascript
element vue validate验证名称重复 输入框与后台重复验证 特殊字符 字符长度 及注意事项小结【实例代码】
2018/11/20 Javascript
vue中v-model对select的绑定操作
2020/08/31 Javascript
uni-app实现获取验证码倒计时功能
2020/11/01 Javascript
JavaScript canvas实现文字时钟
2021/01/10 Javascript
Python小工具之消耗系统指定大小内存的方法
2018/12/03 Python
详解Python:面向对象编程
2019/04/10 Python
使用Python进行体育竞技分析(预测球队成绩)
2019/05/16 Python
python算法与数据结构之单链表的实现代码
2019/06/27 Python
win10安装tensorflow-gpu1.8.0详细完整步骤
2020/01/20 Python
详解向scrapy中的spider传递参数的几种方法(2种)
2020/09/28 Python
使用python-cv2实现视频的分解与合成的示例代码
2020/10/26 Python
JACK & JONES瑞典官方网站:杰克琼斯欧式风格男装
2017/12/23 全球购物
英国家庭和商业健身器材购物网站:Fitness Options
2018/07/05 全球购物
英国第一摩托车和摩托车越野配件商店:GhostBikes
2019/03/10 全球购物
应届生妇产科护士求职信
2013/10/27 职场文书
中专生的个人自我评价
2013/12/11 职场文书
大学班长的职责
2014/01/27 职场文书
建筑专业毕业生自荐信
2014/05/25 职场文书
环保小标语
2014/06/13 职场文书
优秀共产党员主要事迹材料
2015/11/05 职场文书
浅谈golang 中time.After释放的问题
2021/05/05 Golang
Tomcat 与 maven 的安装与使用教程
2022/06/16 Servers
修改Nginx配置返回指定content-type的方法
2022/09/23 Servers