zoukankan      html  css  js  c++  java
  • 第 4 章 子程序与函数

    学习导航

    1. 子程序
    2. 函数

     

    4.1 子程序 (Subroutines)

    什么是子程序?

    “子程序”是将一段具有某种特定功能的语句区块单句撰写成一个独立的程序,给予特定的名称,它的格式如下:

     sub 子程序名称 [(参数1,参数2,.. .)]

      程序代码

     end sub

    子程序一定要有名称,调用子程序时就会使用到它的名称。如果没有调用它,子程序并不会执行,请看下面范例。

    <script language="vbs">
        msgbox "我在外面"
        sub A
            msgbox "我在里面"
        end sub
    </script>
    <script language="vbs">
        msgbox "我在外面"
        A
        sub A
            msgbox "我在里面"
        end sub
    </script>

    4.2 调用子程序名称 [(参数1,参数2,...)]

    方法一:call 子程序名称 参数1,参数2

    方法二:子程序名称 参数1,参数2。。。

    <script language="vbs">
        sub chang(c)
            degree=c*1.8+32
            msgbox "摄氏" & c & "度转换为华氏" & degree & ""
        end sub
        degreec=inputbox("请输入摄氏度:")
        chang degreec
    </script>
    <script language="vbs">
        msgbox "我在外面"
        A
        msgbox "我在后面"
        sub A
          msgbox "我在里面"
        end sub
    </script>

    4.3 局部变量和全局变量

    <script language="vbs">
        A
        msgbox "i等于" & i
        sub A
          i=10
        end sub
    </script>

    为什么这里弹出的信息框I的值为空呢,因为子程序里面的I变量是局部变量,到子程序外面已经超出了变量I的有效范围,所以到了子程序之外后变量“I”失效了。

    <script language="vbs">
        dim i
        A
        msgbox "i等于" & i
        sub A
            i=10
        end sub
    </script>

    这个程序在子程序之外先用“DIM I”对变量“I”进行声明,这时变量“I”就会变成了“全局变量”,所谓的全局变量就是指不管在程序的哪一部分,包括子程序之内,这个变量都有效果。一般变量只要在子程序之外先声明或是先出现就会变成全局变量,反之就是局部变量。所以只要跳出该程序,那么局部变量就会失效。

    4.4 终止执行子程序

    一般子程序执行到 end sub 就会结束,但也可以提早结束子程序,而直接跳回原来调用子程序的地方。

    <script language="vbs">
        A
        sub A
            I=10
            exit sub
            msgbox "我不会执行到"
        end sub
    </script>

    在程序中直接使用“Exit sub”来跳出子程序,所以 msgbox “…”不会执行到。

    4.5 事件驱动

    在VBScript中,子程序不仅扮演执行重复动作的角色,还可以侦测到用户对浏览器所做的操作。

    格式:

     sub 对象_操作

      所要响应的程序代码

     end sub

    <script language="vbs">
        sub document_onclick
            msgbox "您按到我了!"
        end sub
    </script>

    在这个例子中,我们点击了页面单击鼠标时,就会驱动document_onclick这个子程序,而出现一个对话框。“对象”_”事件”中间要以下滑线隔开。

    4.6 函数(Functions)

    在写程序时,常常遇到一些相同的代码。那么我们经常会用调用的方法去处理。而函数的结构及用法与子程序几乎相同,唯一不同的是函数可以在执行结束的时候返回一个值,而子程序不会。函数是以“Function”开始,”End Function”结束。

    格式:function 函数名称 [(参数1,参数2. . .)]

          程序代码

          函数名称=程序代码

         end function

    <script language="vbs">
        function circle(n)
            circle=n*n*3.14
        end function
        msgbox "半径为10的圆面积为" & circle(10)  
    </script>
    <script language="vbs">
        function sum(n)
            total=0
            for I=1 to n
                total=total+I
            next
            sum=total
        end function
        number=InputBox("请输入一个整数:")
        mysum=sum(number)
        msgbox "1加到" & number & "的总和为" & mysum
    </script>

    函数不仅能够传入一个参数,您也可以根据实际需求而传入多个参数。

    <script language="vbs">
        function sum(n,s)
            total=0
            for I=s to n
                total=total+I
            next
            sum=total
        end function
        start=inputbox("请输入初始值:")
        number=inputbox("请输入一个整数")
        mysum=sum(number,start)
        msgbox start & "加到" & number & "的总和为" & mysum
    </script>
  • 相关阅读:
    MFC线程(二):线程同步临界区CRITICAL SECTION
    自定义消息
    Visual C++线程同步技术剖析:临界区,时间,信号量,互斥量
    //解析数据函数指针,很爽
    CListCtrl使用方法汇总
    进度条的使用 Progress控件
    CListBOX 用法
    文件操作总结
    CString 十六进制转二进制
    Numpy常用数据结构、数据清洗函数、数据结构series和方法、数据结构dataframe和方法
  • 原文地址:https://www.cnblogs.com/zfc2201/p/5578982.html
Copyright © 2011-2022 走看看