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中String类的subString()方法和slice()方法
May 24 Javascript
JS实现控制表格行文本对齐的方法
Mar 30 Javascript
jQuery插件multiScroll实现全屏鼠标滚动切换页面特效
Apr 12 Javascript
jquery实现动画菜单的左右滚动、渐变及图形背景滚动等效果
Aug 25 Javascript
javascript实现瀑布流动态加载图片原理
Aug 12 Javascript
Javascript 普通函数和构造函数的区别
Nov 05 Javascript
浅谈箭头函数写法在ReactJs中的使用
Aug 22 Javascript
Node.js中你不可不精的Stream(流)
Jun 08 Javascript
Node.js Koa2使用JWT进行鉴权的方法示例
Aug 17 Javascript
jQuery UI实现动画效果代码分享
Aug 19 jQuery
微信小程序简单的canvas裁剪图片功能详解
Jul 12 Javascript
JavaScript实现栈结构Stack过程详解
Mar 07 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数组传递是值传递而非引用传递概念纠正
2013/01/31 PHP
PHP使用GIFEncoder类生成的GIF动态图片验证码
2014/07/01 PHP
php的mkdir()函数创建文件夹比较安全的权限设置方法
2014/07/28 PHP
20个2014年最优秀的PHP框架回顾
2014/10/22 PHP
编写PHP脚本过滤用户上传的图片
2015/07/03 PHP
微信自定义菜单的创建/查询/取消php示例代码
2016/08/05 PHP
PHP生成短网址的思路以及实现方法的详解
2019/03/25 PHP
php和asp语法上的区别总结
2019/05/12 PHP
WEB页子窗口(showModalDialog和showModelessDialog)使用说明
2009/10/25 Javascript
JavaScript类和继承 constructor属性
2010/03/04 Javascript
基于JQuery实现CheckBox全选全不选
2011/06/27 Javascript
初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能
2011/12/26 Javascript
客户端js性能优化小技巧整理
2013/11/05 Javascript
javascript中expression的用法整理
2014/05/13 Javascript
node.js中的url.parse方法使用说明
2014/12/10 Javascript
js实现透明度渐变效果的方法
2015/04/10 Javascript
使用AngularJS创建自定义的过滤器的方法
2015/06/18 Javascript
用JavaScript判断CSS浏览器类型前缀的两种方法
2015/10/08 Javascript
Angular中响应式表单的三种更新值方法详析
2017/08/22 Javascript
vue-cli项目根据线上环境分别打出测试包和生产包
2018/05/23 Javascript
ajax与jsonp的区别及用法
2018/10/16 Javascript
Ant design vue table 单击行选中 勾选checkbox教程
2020/10/24 Javascript
python使用Matplotlib画饼图
2018/09/25 Python
实例讲解Python3中abs()函数
2019/02/19 Python
Python实现FLV视频拼接功能
2020/01/21 Python
在django中使用apscheduler 执行计划任务的实现方法
2020/02/11 Python
Python中的流程控制详解
2021/02/18 Python
利用HTML5画出一个坦克的形状具体实现代码
2013/06/20 HTML / CSS
正规的求职信范文分享
2013/12/11 职场文书
初中美术教学反思
2014/01/29 职场文书
献爱心标语
2014/06/21 职场文书
2014年党员整改措施范文
2014/09/21 职场文书
带香烟到学校抽的检讨书
2014/09/25 职场文书
学校党风廉政建设调研报告
2015/01/01 职场文书
幼儿园门卫安全责任书
2015/05/08 职场文书
Python学习之os包使用教程详解
2022/03/21 Python