
JavaScript程序构成
JavaScript脚本语言的基本构成是由控制语句 函数 对象 方法 属性等 来实现编程的
一 程序控制流在任何一种语言中 程序控制流是必须的 它能使得整个程序减小混乱 使之顺利按其一定的方式执行 下面是JavaScript常用的程序控制流结构及语句:1 if条件语句 基本格式if(表述式)语句段1 else语句段2功能 若表达式为true 则执行语句段1 否则执行语句段2说明 if else 语句是JavaScript中最基本的控制语句 通过它可以改变语句的执行顺序 表达式中必须使用关系语句 来实现判断 它是作为一个布尔值来估算的 它将零和非零的数分别转化成false和true 若if后的语句有多行 则必须使用花括号将其括起来if语句的嵌套if(布尔值)语句1 else(布尔值)语句2 else if(布尔值)语句3 ……else 语句4在这种情况下 每一级的布尔表述式都会被计算 若为真 则执行其相应的语句 否则执行else后的语句2 For循环语句 基本格式for(初始化 条件 增量)语句集功能 实现条件循环 当条件成立时 执行语句集 否则跳出循环体说明 初始化参数告诉循环的开始位置 必须赋予变量的初值 条件 是用于判别循环停止时的条件 若条件满足 则执行循环体 否则 跳出 增量 主要定义循环控制变量在每次循环时按什么方式变化 三个主要语句之间 必须使用逗号分隔3 while循环 基本格式while(条件)语句集 该语句与For语句一样 当条件为真时 重复循环 否则退出循环For与while语句两种语句都是循环语句 使用For语句在处理有关数字时更易看懂 也较紧凑 而while循环对复杂的语句效果更特别
4 break和continue语句与C++语言相同 使用break语句使得循环从For或while中跳出 continue使得跳过循环内剩余的语句而进入下一次循环
二 函数函数为程序设计人员提供了一个丰常方便的能力 通常在进行一个复杂的程序设计时 总是根据所要完成的功能 将程序划分为一些相对独立的部分 每部分编写一个函数 从而 使各部分充分独立 任务单一 程序清晰 易懂 易读 易维护 JavaScript函数可以封装那些在程序中可能要多次用到的模块 并可作为事件驱动的结果而调用的程序 从而实现一个函数把它与事件驱动相关联 这是与其它语言不样的地方
1 JavaScript函数定义Function 函数名 (参数 变元){函数体; Return 表达式;}说明当调用函数时 所用变量或字面量均可作为变元传递函数由关键字Function定义函数名 定义自己函数的名字参数表 是传递给函数使用或 *** 作的值 其值可以是常量 变量或其它表达式通过指定函数名(实参)来调用一个函数必须使用Return将值返回函数名对大小写是敏感的2 函数中的形式参数 在函数的定义中 我们看到函数名后有参数表 这些参数变量可能是一个或几个 那么怎样才能确定参数变量的个数呢?在JavaScript中可通过arguments Length来检查参数的个数 例 Function function_Name(exp exp exp exp )Number =function _Name arguments length;if (Number> )document wrile(exp );if (Number> )document write(exp );if(Number> )document write(exp );
三 事件驱动及事件处理1 基本概念JavaScript是基于对象(object based)的语言 这与Java不同 Java是面向对象的语言 而基于对象的基本特征 就是采用事件驱动(event driven) 它是在用形界面的环境下 使得一切输入变化简单化 通常鼠标或热键的动作我们称之为事件(Event) 而由鼠标或热键引发的一连串程序的动作 称之为事件驱动(Event Driver) 而对事件进行处理程序或函数 我们称之为事件处理程序(Event Handler)2 事件处理程序在JavaScript中对象事件的处理通常由函数(Function)担任 其基本格式与函数全部一样 可以将前面所介绍的所有函数作为事件处理程序 格式如下 Function 事件处理名(参数表){事件处理语句集 ……}
3 事件驱动JavaScript事件驱动中的事件是通过鼠标或热键的动作引发的 它主要有以下几个事件 (1)单击事件onClick当用户单击鼠标按钮时 产生onClick事件 同时onClick指定的事件处理程序或代码将被调用执行 通常在下列基本对象中产生 button(按钮对象)checkbox(复选框)或(检查列表框)radio (单选钮)reset buttons(重要按钮)submit buttons(提交按钮)
例 可通过下列按钮激活change()文件 <Form><Input type= button Value= onClick= change() ></Form>在onClick等号后 可以使用自己编写的函数作为事件处理程序 也可以使用JavaScript中内部的函数 还可以直接使用JavaScript的代码等 例 <Input type= button value= onclick=alert( 这是一个例子 );(2)onChange改变事件当利用text或texturea元素输入字符值改变时发该事件 同时当在select表格项中一个选项状态改变后也会引发该事件 例 <Form><Input type= text name= Test value= Test onCharge= check( this test) ></Form>(3)选中事件onSelect当Text或Textarea对象中的文字被加亮后 引发该事件 (4)获得焦点事件onFocus当用户单击Text或textarea以及select对象时 产生该事件 此时该对象成为前台对象 (5)失去焦点onBlur当text对象或textarea对象以及select对象不再拥有焦点 而退到后台时 引发该文件 他与onFocas事件是一个对应的关系 (6)载入文件onLoad当文档载入时 产生该事件 onLoad一个作用就是在首次载入一个文档时检测cookie的值 并用一个变量为其赋值 使它可以被源代码使用 (7)卸载文件onUnload当Web页面退出时引发onUnload事件 并可更新Cookie的状态
四 范例范例 下例程序是一个自动装载和自动卸载的例子 即当装入HTML文档时调用loadform()函数 而退出该文档进入另一HTML文档时则首先调用unloadform()函数 确认后方可进入 <HTML><HEAD><script Language= JavaScript ><! function loadform(){alert( 这是一个自动装载例子! );}function unloadform(){alert( 这是一个卸载例子! );}// ></Script></HEAD><BODY OnLoad= loadform() OnUnload= unloadform() ><a >调用</a></BODY></HTML> 范例 这是一个获取浏览器版本号的程序 该程序首先显示一个波浪一提示信息 之后显示浏览器的版本号有关信息 <><head><script language= JavaScript ><! // >function makeArray(n){this length=nreturn this}function hexfromdec(num) {hex=new makeArray( );var hexstring= ;var shifthex= ;var temp =num;for(x= ; x>= ; x ) {hex[x]=Math round(temp /shifthex );hex[x ]=temp hex[x] shifthex;temp =hex[x ];shifthex /= ;}for (x= ; x>= ; x ) { hexstring+=getletter(hex[x]); }return (hexstring);} function getletter(num) {if (num < ) { return num; }else {if (num == ) { return A }if (num == ) { return B }if (num == ) { return C }if (num == ) { return D }if (num == ) { return E }if (num == ) { return F }}}function rainbow(text){var color_d ;var allstring= ;for(i= ;i<text length;i=i+ ){color_d = Math sin(i/(text length/ ));color_h =hexfromdec(color_d );allstring+= <FONT COLOR= +color_h + ff +color_h + > +text substring(i i+ )+ </FONT> ;}return allstring;} function sizefont(text){var color_d ;var allstring= ;var flag= ;for(i= j= ;i<text length;i=i+ ){if (flag== ) {j++;if (j>= ) {flag= ;}}if (flag== ) {j=j ;if (j<= ) {flag= ; }}allstring+= <FONT SIZE= + j + > + text substring(i i+ ) + </FONT> ;}return allstring;}document write( <font size= ><CENTER> )document write( <BR><BR> )document write( sizefont( 这是一个获取WEB浏览器的程序 ))document write( </CENTER></font> )document write( 浏览器名称: +navigator appName+ <br> );document write( 版本号: +navigator appVersion+ <br> );document write( 代码名字: +navigator appCodeName+ <br> );document write( 用户代理标识: +navigator userAgent);</script><body></body></>输出结果图 所示
图
lishixinzhi/Article/program/Java/JSP/201311/19230
软件开发流程如下:
1、项目开发目的分析与确定
软件开发流程的这一阶段,主要是在在软件开发商将开发项目确定下来之后,需要与需求方进行讨论,确定需求方对于软件开发的需要实现目标及其具体需要的功能等等,并确定是否可达成。
2、需求分析
这是软件开发流程的第二个阶段,也是为软件开发的正常进行确定具体思路的阶段。在确定软件开发可进行后,必须要对客户需要实现的软件功能需求进行具体详细的分析。同时应当考虑在开发过程中可能出现的变化情况,制定需求变更计划随时应对特殊情况的发生,保证软件开发流程的顺畅进行。
3、设计
软件设计要根据上一阶段对软件功能需求分析的结果,来设计软件系统的框架结构、功能模块和数据库等等。分为总体设计和详细设计两个部分。
4、编程
软件开发流程中每上一个阶段都是下一个阶段的实施进行的基础。编程也是根据对软件设计,将软件设计的各部分需求通计算机程序代码来实现运行,编程有统一、规范的程序编写规则,保证软件程序的易懂性、易维护性。
5、软件测试
在根据设计将客户软件需用编程代码来实现之后,也就是软件程序完成之后,需要对编写的程序,形成整体构架、功能进行单元、组装、系统三阶段的测试,以测试程序编写的正确性,以及对客户需求功能满足的充分性,以此来确定软件是否达到开发要求,同时也是一个发现问题、纠正问题的过程。
6、软件交付
软件开发流程通过以上核心环节完成了软件开发,接下来就是在软件开发达到客户需求之后,开发者将软件系统交予客户,并将软件安装程序、数据库的数据字典、《用户安装手册》、《用户使用指南》、需求报告、设计报告、测试报告等产物交付给客户。
7、验收
用户在接收开发商交付的软件开发结果,并进行实际 *** 作、测试运行,实现满意结果之后,对开发出来的软件进行验收。
8、维护
定制开发的软件通常都需要提供售后服务,定期对软件进行维护,或者根据用户出现的新需求,进行应用软件程序的修改,使之不断满足客户实际需求。
软件开发的概念
是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。软件一般是用某种程序设计语言来实现的。通常采用软件开发工具可以进行开发。软件分为系统软件和应用软件,并不只是包括可以在计算机上运行的程序,与这些程序相关的文件一般也被认为是软件的一部分。
结构化程序设计方法
1 自顶向下
2 逐步细化
3 模块化设计
4 结构化编码
结构化程序设计由迪克斯特拉(EWdijkstra)在1969年提出,是以模块化设计为中心,将待开发的软件系统划分为若干个相互独立的模块,这样使完成每一个模块的工作变单纯而明确,为设计一些较大的软件打下了良好的基础。
由于模块相互独立,因此在设计其中一个模块时,不会受到其它模块的牵连,因而可将原来较为复杂的问题化简为一系列简单模块的设计。模块的独立性还为扩充已有的系统、建立新系统带来了不少的方便,因为我们可以充分利用现有的模块作积木式的扩展。
按照结构化程序设计的观点,任何算法功能都可以通过由程序模块组成的三种基本程序结构的组合: 顺序结构、选择结构和循环结构来实现。
结构化程序设计的基本思想是采用"自顶向下,逐步求精"的程序设计方法和"单入口单出口"的控制结构。自顶向下、逐步求精的程序设计方法从问题本身开始,经过逐步细化,将解决问题的步骤分解为由基本程序结构模块组成的结构化程序框图;"单入口单出口"的思想认为一个复杂的程序,如果它仅是由顺序、选择和循环三种基本程序结构通过组合、嵌套构成,那么这个新构造的程序一定是一个单入口单出口的程序。据此就很容易编写出结构良好、易于调试的程序来。
缺点:
虽然结构化程序设计方法具有很多的优点,但它仍是一种面向过程的程序设计方法,它把数据和处理数据的过程分离为相互独立的实体。当数据结构改变时,所有相关的处理过程都要进行相应的修改,每一种相对于老问题的新方法都要带来额外的开销,程序的可重用性差。
由于图形用户界面的应用,程序运行由顺序运行演变为事件驱动,使得软件使用起来越来越方便,但开发起来却越来越困难,对这种软件的功能很难用过程来描述和实现,使用面向过程的方法来开发和维护都将非常困难
System Memory Speed
1、结构化程序设计
在结构化程序设计中,任何程序段的编写都基于3种结构:分支结构、循环结构和顺序结构。程序具有明显的模块化特征,每个程序模块具有惟一的出口和入口语句。结构化程序的结构简单清晰,模块化强,描述方式贴近人们习惯的推理式思维方式,因此可读性强。
2、面向对象程序设计
面向对象程序设计方法是尽可能模拟人类的思维方式,使得软件的开发方法与过程尽可能接近人类认识世界、解决现实问题的方法和过程,也即使得描述问题的问题空间与问题的解决方案空间在结构上尽可能一致,把客观世界中的实体抽象为问题域中的对象。
程序设计的分类
1、按照结构性质,有结构化程序设计与非结构化程序设计之分。前者是指具有结构性的程序设计方法与过程。它具有由基本结构构成复杂结构的层次性,后者反之。
2、按照用户的要求,有过程式程序设计与非过程式程序设计之分。前者是指使用过程式程序设计语言的程序设计,后者指非过程式程序设计语言的程序设计。
3、按照程序设计的成分性质,有顺序程序设计、并发程序设计、并行程序设计、分布式程序设计之分。按照程序设计风格,有逻辑式程序设计、函数式程序设计、对象式程序设计之分。
需求分析最重要。
只有做好软件的需求分析,才能把后面软件设计,编码,测试的基础方向打好。
软件工程的流程:一,项目计划阶段。(也可以说是可行性分析阶段)定了一个软件以目前的条件可以完成,主要是经济,技术和社会条件,撰写可行性分析报告。需求方和开发方共同探讨项目中的问题的解决方案。需要的资金,人力,物力,社会方面的影响,例如是否符合法律等,目的进度和预期效益进行估计。二,项目需求分析阶段。用户需求进行分析。将用户的需求用逻辑的软件工程语言表达出来,设计好功能和数据库模型,编写成软件需求设计书。这个阶段要注意的是行业的术语以及行业规则,开发的软件难免遇到不同行业,我们不是那个行业里面的人,所以对用户所在行业的需求分析的时候要正确理解他们的术语和规则。当需求得到用户确认后记得让用户签字。最后提醒一点,需求的变更在项目中很频繁,必须做好需求变更计划用以项目正常进行。三,项目设计阶段。概要设计就是设计软件的结构,包括组成模块,模块的层次结构,模块的调用关系,每个模块的功能等等。同时,还要设计该项目的应用系统的总体数据结构和数据库结构,即应用系统要存储什么数据,这些数据是什么样的结构,它们之间有什么关系。细设计阶段就是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。要设计阶段通常得到软件结构图。详细设计阶段常用的描述方式有:流程图、N-S图、PAD图、伪代码等。四,编码阶段。程序员分配好编码任务,将软件的设计具体为软件代码。这里注意的是编码语言,工具,环境和编码规范。统一,标准的编码规范可让程序可读和易维护。五,软件测试阶段。件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。测试,目的是以较小的代价发现尽可能多的错误。要实现这个目标的关键在于设计一套出色的测试用例。如何才能设计出一套出色的测试用例,关键在于理解测试方法。不同的测试方法有不同的测试用例设计方法。两种常用的测试方法是白盒法测试对象是源程序,依据的是程序内部的的逻辑结构来发现软件的编程错误、结构错误和数据错误。结构错误包括逻辑、数据流、初始化等错误。用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。白盒法和黑盒法依据的是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。其中接口错误包括内部/外部接口、资源管理、集成化以及系统错误。六,维护阶段。软件正式交付使用过程中出现的软件的bug进行修复,调整软件以适应正式环境,编写软件的维护报告。
一、机器语言
1、优点:可以被计算机直接识别、执行,所以用机器语言写的程序效率最高。
2、缺点:是用指令编程,而成千上万条指令很难记住,且一旦出错很难找出错误。不同型号的计算机,指令编码并不相同,因此,针对某一型计算机写的程序移植到另外一种计算机上后,运行结果未必正确,甚至有可能根本不能运行。
二、汇编语言
1、优点:可直接访问系统接口,汇编程序翻译成的机器语言程序的效率高。
2、缺点:汇编语言指令是机器指令的符号化,与机器指令存在着直接的对应关系,所以汇编语言同样存在着难学难用、容易出错、维护困难等缺点。
三、高级语言
1、优点:形式上接近于算术语言和自然语言,概念上接近于人们通常使用的概念。高级语言的一个命令可以代替几条、几十条甚至几百条汇编语言的指令。因此,高级语言易学易用,通用性强,应用广泛。
2、缺点:高级语言种类繁多。
扩展资料
程序设计语言具有心理工程及技术等特性。
1、心理特性:歧义性、简洁性、局部性、顺序性、传统性。
2、工程特性:可移植性,开发工具的可利用性,软件的可重用性、可维护性。
3、技术特性:支持结构化构造的语言有利于减少程序环路的复杂性,使程序易测试、易维护。
参考资料来源:百度百科——程序设计语言
参考资料来源:百度百科——计算机设计语言
以上就是关于JavaScript教程--从入门到精通(3)全部的内容,包括:JavaScript教程--从入门到精通(3)、软件开发流程、怎么设计一个易于开发,维护,扩展的软件程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)