版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第 15 章 VBScript的進階語法,風保系,本章大綱,副程式的應用 函數的應用 全域變數及區域變數 陣列的宣告,副程式的應用 -模組化程式設計,在程式語言裡,函數與副程式(二者可合稱為程序)可以說是簡化程式設計的最佳利器,它們可將程式中重複的動作或運算,另外獨立成一個子程式。 函數與副程式的不同處在於,函數將計算出一個結果,然後回傳給呼叫它的程式。,副程式的應用 -副程式,副程式的宣告 副程式的宣告語法如下: 1Sub 副程式名稱(參數1, 參數2, ., 參數N) 2 3End Sub,利用輸入函數InputBox,InputBox(prompt, title, default, xp
2、os, ypos, helpfile, context) 範例,副程式的應用 -副程式,呼叫副程式 呼叫副程式的語法如下: Call 副程式名稱(參數1, 參數2, ., 參數N) 若省略Call時,則參數名稱外的括號須省略。 副程式名稱 參數1, 參數2, ., 參數N,副程式的應用 -副程式,副程式的執行過程 當在程式中呼叫副程式時,程式的執行流程將會從呼叫敘述處,進入副程式,等到副程式執行完後,執行流程又會回到原來呼叫副程式的敘述,繼續向下執行。,執行流程,函數的應用 -函數,函數的宣告 函數的宣告語法如下: 1Function 函數名稱(參數1, 參數2, ., 參數N) 2 3 函數
3、名稱 = 運算式 4 5End Function,函數的應用 -函數,下面的程式片段,將宣告一個用於計算圓面積的函數,呼叫此函數時,需以欲計算圓之半徑為參數。 Function CircleArea(Radius) Const PI = 3.1415926 自訂常數 CircleArea = PI * Radius 2 圓面積的公式 End Function,函數的應用 -函數,函數的呼叫 在程式中用以下的語法即可呼叫函數。 函數名稱 (引數1, 引數2, , 引數N) 下面的語法將呼叫前面圓面積函數,計算半徑為5cm之圓的面積。 CircleArea(5) 若呼叫函數,需傳入兩個引數時,則呼
4、叫語法如下: GCD(2, 3) 範例 1, 2 ,3,函數的應用 -VBScript的常用函數,VBScript的內建函數 對於VBScript內建函數的說明,您可以參考Microsoft的VBScript技術網站(,函數的應用 -VBScript的常用函數,CInt字串或數值 用途: 將傳入的字串或數值之資料型態轉換為Variant的Integer子型別。 參數說明: 字串或數值:可傳入字串或者數值運算式。,函數的應用 -VBScript的常用函數,CStr字串或數值 用途: 將傳入的字串或數值之資料型態轉換為Variant的String子型別。 參數說明: 字串或數值:可傳入字串或者數值
5、運算式。,函數的應用 -VBScript的常用函數,Randomize() 初始化亂數產生器,通常都搭配Rnd函數使用,這樣亂數才能順利產生。 Rnd數值 用途: 產生一個資料型態為Single的亂數值。 參數 數值:為一選擇性引數,其資料型態為Single的數值或者數值運算式。其值將影響Rnd函數傳回亂數值的方法。,函數的應用 -VBScript的常用函數,Int數值 用途: 傳回傳入值的整數部份。 參數說明:,全域變數與區域變數,全域變數?區域變數? 當我們在網頁主程式的部份宣告了一個變數後,該變數便是一個全域變數(Global Variable),這類變數的可使用範圍包括整個網頁,包含網
6、頁中的副程式與函數內之程式敘述。 在副程式與函數中所宣告的變數,則稱為區域變數(Local Variable),它的可使用範圍僅及副程式與函數內的程式敘述,在宣告該變數的副程式或者函數之外,便無法使用該變數。,全域變數與區域變數,被不小心更改的全域變數 i = 1 Document.Write (呼叫副程式前 i = & i & ) Call Test 呼叫副程式 Document.Write (呼叫副程式後 i = & i) Sub Test() i = 2 End Sub,全域變數與區域變數,輸出結果會是下面這樣嗎? 呼叫副程式前 i = 1 呼叫副程式後 i = 1 答案為不是!輸出結果
7、是這樣 呼叫副程式前 i = 1 呼叫副程式後 i = 2,輸出結果不是這樣,這才是輸出結果,全域變數與區域變數,在這個非預期的情形下,i的值被更改了。可是這個情形可能不是我們想要的。尤其像在下面這個時候。 For i = 1 To 4 Call Test 呼叫副程式 Next Sub Test() 使用全域變數i For i = 0 To 3 Document.Write (i) Next End Sub,全域變數與區域變數,當在Test副程式中,利用Dim宣告i變數後,整個敘述便可正確執行。 For i = 1 To 4 Call Test 呼叫副程式 Next Sub Test() Di
8、m i 當全域變數與區域變數的名稱相同且同時存在時 在副程式中優先使用區域變數 For i = 0 To 3 Document.Write (i) Next End Sub,陣列的宣告 -什麼是陣列?,陣列是由好幾個陣列元素所組成。每一個單獨的陣列元素,就相當於一個變數,可用於儲存資料。,陣列的宣告 -陣列的宣告與使用,陣列的宣告 陣列變數的宣告語法如下: Dim 陣列名稱(陣列大小 1 ) 當要宣告一個大小為5的陣列時,宣告陣列的語法應該如下所示。 Dim varAry(4) 宣告大小為5的陣列 而宣告的陣列圖示如下。,陣列的宣告 -陣列的宣告與使用,陣列元素 陣列中元素的取得必須靠陣列的索引值,也就是每個元素的編號,其語法如下: 陣列名稱(索引值) 下面的程式片段將宣告一個擁有10個元素的陣列,並將陣列中第5個元素之值設為10。 Dim varAry(9) varAry(4) = 10,陣列的宣告 -陣列的宣告與使用,在使用陣列時,通常會與ForNext迴圈配合,下面的敘述將設定陣列中每個元素的起始值為0。 For I = 0 To 9 varAry(I) = 0 Next,陣列的宣告 -陣列的宣告與
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 心血管疾病一级预防的健康管理策略
- 心脏移植供体分配的医患沟通模式创新
- 心理健康AI:沙盒测试中的伦理与数据合规
- 保安人员管理及安全意识培训
- 微创神经外科老年患者麻醉风险评估模型
- 微创神经手术中血流动力学不稳定预防措施
- 微创神经外科手术中超声刀与激光刀的术后康复指导要点
- 微创手术在脊髓血管畸形急症中的应用
- 微创引流对术后认知功能恢复的影响
- 微创入路对术后颅内压的影响
- DL∕T 5776-2018 水平定向钻敷设电力管线技术规定
- (正式版)SH∕T 3548-2024 石油化工涂料防腐蚀工程施工及验收规范
- DL-T486-2021高压交流隔离开关和接地开关
- 朗读艺术入门智慧树知到期末考试答案2024年
- 教学设计中的课程整合与跨学科教学
- (正式版)实习岗位-OFFER通知书
- 基于Matlab的电力系统故障分析与仿真(毕业论文)
- 朗读艺术入门学习通超星课后章节答案期末考试题库2023年
- 世界贸易组织的法律框架与组织结构
- 卡乐康包衣学校培训资料专家讲座
- GB/T 6075.6-2002在非旋转部件上测量和评价机器的机械振动第6部分:功率大于100kW的往复式机器
评论
0/150
提交评论