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 相关文章推荐
js 链式延迟执行DOME
Jan 04 Javascript
jQuery实现的输入框选择时间插件用法实例
Feb 28 Javascript
详解javascript中原始数据类型Null和Undefined
Dec 17 Javascript
gulp-htmlmin压缩html的gulp插件实例代码
Jun 06 Javascript
基于Vue2的移动端开发环境搭建详解
Nov 03 Javascript
javascript常用经典算法详解
Jan 11 Javascript
基于Vue的移动端图片裁剪组件功能
Nov 28 Javascript
Vue+webpack项目基础配置教程
Feb 12 Javascript
vue 多入口文件搭建 vue多页面搭建的实例讲解
Mar 12 Javascript
vue使用自定义指令实现拖拽
Jan 29 Javascript
js实现弹幕飞机效果
Aug 27 Javascript
JQuery+drag.js上传图片并且实现图片拖曳
Nov 18 jQuery
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工厂模式的日常使用
2019/03/20 PHP
PHP如何防止用户重复提交表单
2020/12/09 PHP
Jquery 动态添加按钮实现代码
2010/05/06 Javascript
FireFox下XML对象转化成字符串的解决方法
2011/12/09 Javascript
JavaScript中的逻辑判断符&amp;&amp;、||与!介绍
2014/12/31 Javascript
jQuery实现对无序列表的排序功能(附demo源码下载)
2016/06/25 Javascript
关于JavaScript限制字数的输入框的那些事
2016/08/14 Javascript
微信小程序 删除项目工程实现步骤
2016/11/10 Javascript
jQuery 实现图片的依次加载图片功能
2017/07/06 jQuery
js插件实现图片滑动验证码
2020/09/29 Javascript
AngularJS遍历获取数组元素的方法示例
2017/11/11 Javascript
js实现前面自动补全位数的方法
2018/10/10 Javascript
Vuerouter的beforeEach与afterEach钩子函数的区别
2018/12/26 Javascript
vue router 组件的高级应用实例代码
2019/04/08 Javascript
小程序中英文混合排序问题解决
2019/08/02 Javascript
layui关闭弹窗后刷新主页面和当前更改项的例子
2019/09/06 Javascript
js实现tab栏切换效果
2020/08/02 Javascript
[02:10]DOTA2 TI10勇士令状玩法及不朽Ⅰ展示:焕新世界,如你所期
2020/05/29 DOTA
django项目运行因中文而乱码报错的几种情况解决
2017/11/07 Python
Python最火、R极具潜力 2017机器学习调查报告
2017/12/11 Python
解决Python设置函数调用超时,进程卡住的问题
2019/08/08 Python
在macOS上搭建python环境的实现方法
2019/08/13 Python
django 中使用DateTime常用的时间查询方式
2019/12/03 Python
Python中如何引入第三方模块
2020/05/27 Python
python和JavaScript哪个容易上手
2020/06/23 Python
聊聊python在linux下与windows下导入模块的区别说明
2021/03/03 Python
详解css position 5种不同的值的用法
2019/07/30 HTML / CSS
什么是聚集索引和非聚集索引
2012/01/17 面试题
社区学习十八大感想
2014/01/22 职场文书
中青班党性分析材料
2014/02/16 职场文书
公证书样本
2014/04/10 职场文书
星级党支部申报材料
2014/05/31 职场文书
大学新闻系应届生求职信
2014/06/02 职场文书
golang特有程序结构入门教程
2021/06/02 Python
一条 SQL 语句执行过程
2022/03/17 MySQL
vue实现书本翻页动画效果实例详解
2022/04/08 Vue.js