[心缘地方]同学录
首页 | 功能说明 | 站长通知 | 最近更新 | 编码查看转换 | 代码下载 | 常见问题及讨论 | 《深入解析ASP核心技术》 | 王小鸭自动发工资条VBA版
登录系统:用户名: 密码: 如果要讨论问题,请先注册。

[ASP]俺写的ASP超简略教程---第一节:ASP及VBscript简介

上一篇:[备忘]使用Vmware安装虚拟机的小记录
下一篇:[ASP]俺写的ASP超简略教程---第二节:使用Request对象接收变量

添加日期:2007/6/26 23:51:14 快速返回   返回列表 阅读4560次
给几个同事培训ASP,都有编程基础,所以写的很简略,很概要…………

放到这吧。
-----------------------------------------------------------

一、简介

1。Asp也是一种运行环境,它默认支持的脚本语言有vbscript和jscript。
通常都是用vbscript。

2。安装了IIS,就可以运行asp了。

3. Asp文件的后缀是asp,纯文本文件,可以用任意的文本编辑器直接书写。

4. Asp是解释运行的,不用编译,把文件放到站点目录下就可以访问了。

练习:
IIS中新建虚拟目录test,将以下内容保存为date.asp,用localhost/test/date.asp访问。
<%=NOW()%>

============================================================================
说明:

<% 和 %>之间就是asp代码,之外就是HTML代码。

asp中的输出语句是 Response.Write "输出内容"。

如果代码只有此一句,可以用<%="输出内容"%>来简写。
============================================================================

二、vbscript介绍

1.VBScript 的变量名不区分大小写。注释用单引号 ,只此一种。

2.VBScript 中,表面来说,只有一个基本数据类型,即 Variant,所有变量的数据类型都是 Variant。

但是,实际上还是分为Integer、Long 、Single、Double、Date、String、Boolean等类型的。

其中Interger的范围是-32,768 到 32,767 ,留意一下。

a=100.3     'Double
a=200     'Interger
a="ss"     'String
a=Date()     'Date
a=True     'Boolean

转换类型的函数:
a=CDbl(10)
a=Cint(2.3)
a=CLng(20)
a=Cstr(30)
a=CDate("2006/7/1")
a=CBool(0)

如下例输出为3和21,数据类型自动进行了转换:
----------------
<%
a=1 '它实际上是Int型。
b="2"
Response.write a + b &"<br>"
Response.write b & a &"<br>"
%>
----------------
+就是加法的+,而&是字符串连接符(记住啊,不要用加号)

实际编码中,一个变量最好始终保持一个类型,尽量避免这种自动转换。(Response.write 中就无所谓了。)

3.vbscript中的变量可以不必事先声明,如上例的a和b。

但,严格来说,应该声明。

在脚本的开头加Option Explicit ,则所有变量必须声明之后,才可以用,否则报错。

声明变量就是用Dim。

Option Explicit
Dim a
Dim a,b,c,d
Dim A(10) '这是数组,从A(0)-->A(10)共11个。
都可以。

4。运算符
数学运算符:
---------------------------------------------------
加减乘除:+-*/
整除 \        Response.write 10\3        3
取余 mod    Response.write 10 mod 3        1
N次方 ^        Response.write 2^3        8

比较运算符:
---------------------------------------------------
等于 =
大于 >
小于<
大于等于 >=
小于等于 <=
不等于 <> 

5。控制语句
---------------------------------
if ...then
    
elseif ....then

elseif ....then

else
end if
------------------------------
select case 变量名等
case 1
    
case 2

case else

end select
这里的1、2也可以字符串等等
----------------------------------------

6。循环语句

i=1
do while i<10
    response.write i &"<br>"
    i=i+1
loop
----------------------------
i=1
do 
    response.write i &"<br>"
    i=i+1
loop while i<10
----------------------------
i=1
do 
    response.write i &"<br>"
    i=i+1
loop until i=10

中途退出用exit do
-----------------------------------
i=1
while i<10
    response.write i &"<br>"
    i=i+1
wend
不推荐使用
-----------------------------------
For i=1 to 10
    response.write i &"<br>"
next
For i=1 to 10 step 2 '步数为2
    response.write i &"<br>"
next

7。过程,就是函数
过程分为Sub和Function,区别就是前者无返回值,后者有
-------------------------------
Sub XX()
    response.write "abcd" 
End Sub

call xx() 
xx
-------------------------------
Sub XX(a,b)
    response.write "abcd" &a & b
End Sub

call xx("123","456") 
xx "123","456"

注意调用的格式
-----------------------------------
Function YY()
    YY="aaaaaaaaa"  '将返回值赋给Function名字即可。
End Function

response.write "1111:" & YY() & "2222"

8。变量的作用域

<%
a="Y"
Function YY()
    a="X"
    response.write a
    YY="aaaaaaaaa"
End Function

response.write a
response.write "1111:" & YY() & "2222"
response.write a
%>

输出为YX1111:aaaaaaaaa2222X

YY内使用的变量a是外面的全局变量a
---------------------------------------

<%
a="Y"
Function YY()
    dim a
    a="X"
    response.write a
    YY="aaaaaaaaa"
End Function

response.write a
response.write "1111:" & YY() & "2222"
response.write a
%>
输出为YX1111:aaaaaaaaa2222Y

所以,Sub或YY中,如果不是想使用全局变量,记得要声明一下。
-----------------------------------------
9.数组

Dim A(10) '共11个元素
A(0)=1
A(1)=2
Response.write A(0) +A(1)
Response.write typename(A(2))

Dim B(3,3) '共4*4=16个
B(0,0)=1
B(0,1)=2
B(0,2)=3
B(0,3)=4
B(1,0)=5
B(2,0)=6
B(3,0)=7
Response.write B(0,2)
------------------------------------------

作业:

输出9*9乘法表,要求格式对齐,写完发给我。

 

评论 COMMENTS
guest650559715
2019/11/27 17:59:12
家家户户或或好吧

添加评论 Add new comment.
昵称 Name:
评论内容 Comment:
验证码(不区分大小写)
Validation Code:
(not case sensitive)
看不清?点这里换一张!(Change it here!)
 
评论由管理员查看后才能显示。the comment will be showed after it is checked by admin.
CopyRight © 心缘地方 2005-2999. All Rights Reserved