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版(约瑟夫环问题)
Aug 05 Javascript
js的.innerHTML = &quot;&quot;IE9下显示有错误的解决方法
Sep 16 Javascript
使用Jquery获取带特殊符号的ID 标签的方法
Apr 30 Javascript
很全面的JavaScript常用功能汇总集合
Jan 22 Javascript
ES6概念 Symbol toString()方法
Dec 25 Javascript
微信小程序教程系列之新建页面(4)
Apr 17 Javascript
es6 字符串String的扩展(实例讲解)
Aug 03 Javascript
使用mint-ui开发项目的一些心得(分享)
Sep 07 Javascript
Node.js中的child_process模块详解
Jun 08 Javascript
vue-image-crop基于Vue的移动端图片裁剪组件示例
Aug 28 Javascript
JS实现头条新闻的经典轮播图效果示例
Jan 30 Javascript
vue实现的微信机器人聊天功能案例【附源码下载】
Feb 18 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
WINDOWS服务器安装多套PHP的另类解决方案
2006/10/09 PHP
php异常处理技术,顶级异常处理器
2012/06/13 PHP
PHP编程基本语法快速入门手册
2016/01/07 PHP
javascript parseInt 函数分析(转)
2009/03/21 Javascript
JQuery Tips(2) 关于$()包装集你不知道的
2009/12/14 Javascript
jQuery 隐藏和显示 input 默认值示例
2014/06/03 Javascript
使用javascript实现Iframe自适应高度
2014/12/24 Javascript
jQuery取消特定的click事件
2016/02/29 Javascript
JavaScript——DOM操作——Window.document对象详解
2016/07/14 Javascript
Bootstrap基本组件学习笔记之面板(14)
2016/12/08 Javascript
在node.js中怎么屏蔽掉favicon.ico的请求
2017/03/01 Javascript
nodejs接入阿里大鱼短信验证码的方法
2017/07/10 NodeJs
jQuery之动画ajax事件(实例讲解)
2017/07/18 jQuery
Vue自定义指令详解
2017/07/28 Javascript
基于打包工具Webpack进行项目开发实例
2018/05/29 Javascript
Vue的路由及路由钩子函数的实现
2019/07/02 Javascript
vue 导出文件,携带请求头token操作
2020/09/10 Javascript
django admin添加数据自动记录user到表中的实现方法
2018/01/05 Python
Python面向对象实现一个对象调用另一个对象操作示例
2019/04/08 Python
Python3内置模块之base64编解码方法详解
2019/07/13 Python
对Django 中request.get和request.post的区别详解
2019/08/12 Python
python等差数列求和公式前 100 项的和实例
2020/02/25 Python
Python 改变数组类型为uint8的实现
2020/04/09 Python
关于keras中keras.layers.merge的用法说明
2020/05/23 Python
python三引号如何输入
2020/07/06 Python
python des,aes,rsa加解密的实现
2021/01/16 Python
Desigual德国官网:在线购买原创服装
2018/03/27 全球购物
盖尔斯工厂店:GUESS Factory
2020/01/21 全球购物
AssertionError 跟一下那个类是 “is – a”的关系
2012/02/21 面试题
会计电算化个人自我评价
2013/11/17 职场文书
庆七一活动总结
2014/08/27 职场文书
2014年仓库保管员工作总结
2014/12/03 职场文书
企业党员岗位承诺书
2015/04/27 职场文书
家长会开场白和结束语
2015/05/29 职场文书
开业庆典嘉宾致辞
2015/08/01 职场文书
2019军训心得体会
2019/06/27 职场文书