【asp源码栏目提醒】:本文主要为网学会员提供“第5章 在ASP中使JavaScript - 技术总结”,希望对需要第5章 在ASP中使JavaScript - 技术总结网友有所帮助,学习一下!
5ASPJavaScriptlJavaScript的变量和函数lJavaScript中的运算符lJavaScript中的对话框lJavaScript中的条件语句和循环语句JavaScript与VBSsript一样,都是脚本语言,但是JavaScript的杰出之处在于可以用很少的程序做大量的事,代码效率高,功能强大。
随着
ASP技术的出现,JavaScript已把它的功能扩大到服务器上。
JavaScript代码嵌套在HTML标记符中,在HTML页面上操纵、处理、控制对象,根据用户的行为执行相应的操作。
5.1 5.1.1在一个程序的执行过程中,可以改变或者说可以重新赋值的量称之为变量。
例如,一个存储用户访问站点次数的量。
变量的定义或者声明以及变量的作用域都有严格的规定和使用方法。
明确定义变量以及对其作用域的清晰认识,将有助于用户的编程过程更为流畅,并可使用户在调试过程中避免很多麻烦。
JavaScript中变量的类型没有限制,所有的数值都会被认为是浮点数,同时JavaScrip也支持字符串。
JavaScript变量可存在于两个作用域上:全局变量,定义在页面的函数外部,可以被各个函数使用,也就是说,它的作用范围贯穿页面的始终。
局部变量是在函数内部设置的,所以它的作用范围被限制在定义它的函数内。
5.1.2 JavaScript是面向对象的语言,采用事件驱动的方法。
例如,在页面上有一个按钮,通过鼠标单击按钮,显示一些信息或者进入另一个页面等。
这是因为单击该按钮时,就会触发该按钮的Click事件,执行该事件中的代码。
这段代码通常称为“事件”。
事件一般具有如下格式:Function对象名称_事件名称//处理事件的代码对象名称就是在页面上放置对象时为其设置的Name参数的值。
事件名称比较常用的有Click(用鼠标单击对象时触发)、Dbclick(用鼠标双击对象时触发)等。
函数和事件很相似,但它不是由对象的事件触发的,而是通过调用函数来执行函数内的代码,并把执行的结果返回。
5.1.3 1前面说过,JavaScript脚本嵌套在HTML文档中,既可以在客户端执行,也可以在服务器端执行。
在客户端执行,就是将脚本代码下载到客户的浏览器中,在客户的计算机上执行;在服务器端执行,代码并不下载到客户的浏览器上,全部在服务器上执行。
JavaScript脚本在服务器端执行,则不必考虑用户使用的是什么样的浏览器,数据的计算等都是在服务器上完成,减轻了客户浏览器的负担,提高了交互的速度。
而且,代码不传到客户的浏览器上,避免源程序被复制,从而提高了程序的安全性。
2JavaScript代码嵌套在HTML文档中,需要让计算机区分出程序代码和HTML文档,以及代码是在服务器端还是在客户端运行。
SCRIPT标记可以完成这种功能。
将JavaScript客户端代码放置在 标记之间,其格式如下: 其中,LANGUAGE参数指定所使用的编程语言。
下面介绍代码在服务器端执行的格式。
使用SCRIPT标记指定代码在服务器端的格式如下: 如果代码是零零散散的,可以将代码包含在标记里面,其格式如下:使用标记指定编程语言的格式如下:5.2 变量是JavaScript语言的基础,任何一种编程语言都使用变量,一个变量可以用来暂时存储数据。
变量通过变量名来访问和识别。
Var语句用来声明变量,并且无需指明变量的数据类型,因为JavaScript中不区分数据类型,所有的类型转换操作都是自动完成的。
使用var语句的格式如下:var变量名称;例如:varvar1;varvar2;也可以使用如下格式一次声明多个变量:var变量名称1,变量名称2,……,变量名称N;var语句还可以声明数组,声明一维数组的格式如下:var数组名称=newArrayvar数组名称=newArray数组元素1数组元素2…数组元素Nvar数组名称=newArray数组元素数目var数组名称=数组元素1数组元素2…数组元素N5.3 不同的运算符代表了不同的运算功能,程序在运行过程中会按照给定的运算符进行操作,运算符主要包括以下几类:l赋值符:在JavaScript中,“”为赋值运算符。
l算术运算符:(加)、-(减)、(乘)、/(除)、和(求余)。
l关系运算符:(等于)、(不等于)、大于、(大于或等于)、和测试运算符左边是否大于右边,大于结果为true,否则为false.l测试运算符左边是否大于或等于右边,大于或等于结果为true,否则为false.lcd相当于:abcd因为算术运算符的优先级高于关系运算符,所以先执行算术运算。
在每一类运算符的内部,各种运算会又有不同的优先顺序。
在算术运算符中,优先级由高到低分别为:l乘法和除法(、)和取模(%)。
l加法和减法(+、-)。
l关系运算符的优先级由高到低分别为:l小于()。
l等于().l不等于(). 逻辑运算符的优先级由高到低分别为:!║在使用的过程中,可以通过小括号来改变运算的顺序。
5.4 前面讨论了JavaScript的变量和运算符,这一节将介绍更为复杂一点的控制程序流程的语句,主要有:lif语句。
lswitch语句。
lfor语句。
lwhile语句。
ldo…while语句。
lwith语句。
在分别介绍这几种语句之前,由于在示例中要多次用到消息框和输入框,所以首先介绍一下消息框和输入框。
5.4.1 1警告框用来把警告、错误或者提示信息显示给用户,警告框通常只有一个“确定”按钮。
显示警告框的格式为:window.alertstringstring参数是警告框显示的内容。
2windows对象的confirm方法可以显示一个确认框,把提示信息显示给用户,确认框有“确定”按钮和“取消”按钮。
如果用户选择“确定”按钮,那么confirm方法返回true否则返回false。
显示确认框的格式为:window.confirmstringstring参数是确认框显示的内容。
3输入框用来接收来自用户的输入。
显示输入框的格式为:window.promptmessagedefstrmessage参数显示输入框中提示信息,defstr参数设置显示在输入框的文本框中默认数值。
5.4.2 1if这是一种最基本的判定方法,if语句的格式如下:if判定条件程序代码2If…else该语句是if语句功能的扩充,它的使用格式如下:if判定条件程序代码1else程序代码2表示如果判定条件成立,那么就执行程序代码1;如果条件不成立,那么,执行程序代码2。
在if语句中的示例,可以不用两个if语句,而只使用一个if…else语句就可以实现。
if…else语句也可以进行嵌套使用。
3Else…if当嵌套层次很多的时候,例如:if判定条件1if判定条件2if判定条件3…难免让人眼花缭乱。
这时可以通过使用Else…if语句去掉层次,其使用格式如下:if判定条件1程序代码1elseif判定条件2程序代码2elseif判定条件3程序代码3…else程序代码N如果判定条件1成立,那么就执行程序代码1。
如果判定条件1不成立,那么就判定条件2是否成立,如果判定条件2成立,执行程序代码2。
如果判断判定条件2不成立,那么就判断判定条件3是否成立,如果判定条件3成立,执行程序代码3。
以此类推,如果Else…if中的判定条件都不成立,那么执行程序代码N。
4SwitchSwitch语句的功能是根据表达式的值,来决定执行几组语句中的哪一句。
它的语法形式如下:switch表达式case数值1:程序代码1break;case数值2:程序代码2break;…default:程序代码Nswitch语句根据“表达式”的值确定要执行的代码段。
如果“表达式”(或变量)的值为“数值1”,那么执行程序代码1。
如果“表达式”不等于“数值1”,那么,判断“表达式”(或变量)的值是否等于“数值2”,如果等于,执行程序代码2。
以此类推。
在程序的运行过程中,如果“表达式”的值能够匹配某个case的判断条件,则在case子句之后,直到下一个case子句之间的语句都会被执行。
Default子句用于指明当“表达式”和所有的case子句中的判断条件都不匹配时,则会执行这些语句。
5.4.3 在程序编写过程中常常会遇到需要对一些问题进行一定条件的反复操作即循环操作,比如说,设计一个累加器,或者对符合一定条件的对象进行不断操作。
JavaScript提供了三种不同方式的循环语句。
下面分别进行介绍。
1ForFor语句可以说是一种计数循环,它的循环是在用户给定的计数范围内进行的,不会对外部的影响有所反应,除非所计的数超过了给定的计数范围它的使用格式如下:forstartendsetp程序代码start参数代表初始化条件;end参数代表终止条件;step参数指定循环步长。
循环中的程序代码将重复执行,直到循环结束。
上一篇:
ASP NET中Web应用程序配置文件的研究及应用
下一篇:
浅析普外科围手术期抗菌药物的应用