第4章_编程基础.ppt

上传人:qwe****56 文档编号:70014897 上传时间:2023-01-14 格式:PPT 页数:94 大小:1.52MB
返回 下载 相关 举报
第4章_编程基础.ppt_第1页
第1页 / 共94页
第4章_编程基础.ppt_第2页
第2页 / 共94页
点击查看更多>>
资源描述

《第4章_编程基础.ppt》由会员分享,可在线阅读,更多相关《第4章_编程基础.ppt(94页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系了解程序设计的基本了解程序设计的基本概念和方法,掌握概念和方法,掌握JavaScript的基础程序设的基础程序设计技术。计技术。2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系第四章第四章 程序设计基础程序设计基础l编程基本概念编程基本概念lJavaScript JavaScript 语言及其运行环境语言及其运行环境lJavaScript JavaScript 编程基础编程基础lJavaScriptJavaScript流程控制流程控制l调试调试JavaScriptJavaScript程序程序

2、lJavaScript JavaScript 函数函数2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.1 4.1 编程编程基本概念基本概念4.1.1 程序设计语言程序设计语言4.1.2 算法与流程图算法与流程图4.1.3 结构化程序设计结构化程序设计2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.1.1 4.1.1 程序设计语言程序设计语言l程序是用计算机语言描述的解决某一问题的步骤,程序是用计算机语言描述的解决某一问题的步骤,由符合一定词法、语法和语义规则的符号序列组由符合一定词法、语法和语义规则的符号序列组成。成。l程序设计语

3、言是用于编写计算机程序的语言,包程序设计语言是用于编写计算机程序的语言,包括一组符号定义和相应规则。括一组符号定义和相应规则。l分类分类:机器语言、汇编语言和高级语言机器语言、汇编语言和高级语言2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.1.1 4.1.1 程序设计语言程序设计语言(1)机器语言)机器语言是二进制代码语言,能被计算机硬件直是二进制代码语言,能被计算机硬件直接识别并执行。如计算接识别并执行。如计算2+3:00100011 00000010-将将2送累加器送累加器A;前;前8位是操作码位是操作码 -后后8位是操作数位是操作数 00000011 0

4、0000011-将将3与累加器与累加器A相加,结果放累加器相加,结果放累加器A 00000010 -将累加器将累加器A中的数(即中的数(即5)从总线输出)从总线输出2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.1.1 4.1.1 语言分类语言分类(2)汇编语言)汇编语言是用助记符代替操作码、用地址符是用助记符代替操作码、用地址符代替操作数的一种面向机器的低级语言。例如:代替操作数的一种面向机器的低级语言。例如:MOV A,2H -将将2送累加器送累加器A ADD A,3H -将将3与累加器与累加器A相加,结果放累加器相加,结果放累加器 OUTL BUS,A -

5、将累加器将累加器A中的数(即中的数(即5)从总线输出)从总线输出l汇编概念:汇编语言程序必须使用汇编程序把它汇编概念:汇编语言程序必须使用汇编程序把它翻译成机器语言后,才能被机器理解、执行。翻译成机器语言后,才能被机器理解、执行。2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.1.1 4.1.1 语言分类语言分类(3)高级语言)高级语言的表达方法接近于人的自然语言和的表达方法接近于人的自然语言和数学表达式,不依赖于机器的特定属性。例如:数学表达式,不依赖于机器的特定属性。例如:Print 2+3 l翻译方式:翻译方式:编译方式:使用编译程序编译方式:使用编译程序

6、解释方式:使用解释程序解释方式:使用解释程序2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.1.2 4.1.2 算法与流程图算法与流程图l算法是计算机解决问题的方法和步骤,可以使用算法是计算机解决问题的方法和步骤,可以使用自然语言、流程图、程序设计语言等描述工具来自然语言、流程图、程序设计语言等描述工具来描述。描述。一、流程图一、流程图l流程图是用一些几何框图、流程线和文字说明表流程图是用一些几何框图、流程线和文字说明表示各种类型的操作。示各种类型的操作。l基本图形和含义基本图形和含义2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4

7、.1.2 4.1.2 算法与流程图算法与流程图二、使用流程图描述算法示例二、使用流程图描述算法示例例例4.1 将两个变量将两个变量X和和Y的值互换。设的值互换。设X=5,Y=10用自然语言描述:用自然语言描述:S1:将:将Y值存入中间变量值存入中间变量Z:YZ S2:将:将X值存入变量值存入变量Y中:中:XY S3:将中间变量:将中间变量Z的值存入的值存入X中:中:ZX用流程图描述用流程图描述2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.1.2 4.1.2 算法与流程图算法与流程图例例4.2 求求1+2+3+4+100用自然语言描述:用自然语言描述:S1:设累

8、加和变量:设累加和变量S,且,且0S;计数变量;计数变量i,且,且0iS2:计算和:计算和S+iS,并把计数变量增值,并把计数变量增值i+1i。S3:判断:当:判断:当i100时,返回第时,返回第2步步S2,再次求和;,再次求和;当当i100时,顺序执行下一步时,顺序执行下一步S4。S4:输出结果,:输出结果,S为所求之和。为所求之和。用流程图描述用流程图描述2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.1.2 4.1.2 算法与流程图算法与流程图三、算法评价标准三、算法评价标准正确性:保证运行结果正确正确性:保证运行结果正确可读性:良好的可读性有助于保证算法

9、的正确可读性:良好的可读性有助于保证算法的正确性。科学、规范的程序设计方法(如结构化方法性。科学、规范的程序设计方法(如结构化方法和面向对象方法)可提高算法的可读性。和面向对象方法)可提高算法的可读性。通用性:一个好算法要尽可能通用,可适用于通用性:一个好算法要尽可能通用,可适用于同类问题的求解。同类问题的求解。高效率:效率包括时间和空间两个方面,一个高效率:效率包括时间和空间两个方面,一个好的算法应执行速度快、占用内存少。可读性要好的算法应执行速度快、占用内存少。可读性要优先于效率,高效率处于次要地位。优先于效率,高效率处于次要地位。2023/1/142023/1/14中山大学计算机科学系中

10、山大学计算机科学系4.1.3 4.1.3 结构化程序设计结构化程序设计结构化程序设计方法结构化程序设计方法 是指按照模块化、层次化的是指按照模块化、层次化的方法来设计程序。其核心思想包括以下三点:方法来设计程序。其核心思想包括以下三点:(1)程序模块化:是指把一个大程序分解成若干)程序模块化:是指把一个大程序分解成若干个小程序(即模块)。个小程序(即模块)。(2)语句结构化:是指每个模块用顺序、选择和)语句结构化:是指每个模块用顺序、选择和循环三种流程结构来实现,如图:循环三种流程结构来实现,如图:2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.1.3 4.1.

11、3 结构化程序设计结构化程序设计(3)自顶向下、逐步求精的设计过程:一方面是)自顶向下、逐步求精的设计过程:一方面是指将一个复杂问题的求解过程分解和细化成由若指将一个复杂问题的求解过程分解和细化成由若干个模块组成的层次结构;另一方面是指将每个干个模块组成的层次结构;另一方面是指将每个模块的功能逐步分解、细化为一系列的处理步骤,模块的功能逐步分解、细化为一系列的处理步骤,直至分解为三种基本控制结构的组合。直至分解为三种基本控制结构的组合。例例4.3 某班某班80名学生,求该班成绩的不及格率。名学生,求该班成绩的不及格率。l首先将任务首先将任务“求不及格率求不及格率”分解成分解成2个子模块个子模块

12、“输入成绩输入成绩”和和“统计不及格人数统计不及格人数”,如图:,如图:2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.1.3 4.1.3 结构化程序设计结构化程序设计l然后使用流程图分别描述这些模块的实现算法,然后使用流程图分别描述这些模块的实现算法,如图如图4.7中的子图中的子图B、C、D所示所示l最后使用某种程序设计语言加以实现最后使用某种程序设计语言加以实现2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.2 JavaScript 4.2 JavaScript 语言及其环境语言及其环境4.2.1 JavaScript 简介简

13、介lJavaScript是一种解释型的、基于对象的脚本语言。是一种解释型的、基于对象的脚本语言。适用于创建短小的应用程序。适用于创建短小的应用程序。l脚本宿主脚本宿主:执行脚本的解释器:执行脚本的解释器l依赖于宿主特性,依赖于宿主特性,JavaScript 脚本的用途有:脚本的用途有:u动态网页编程:将动态网页编程:将JavaScript脚本嵌入网页中,由脚本嵌入网页中,由Web浏览浏览器解释执行。器解释执行。uWeb服务器编程:将服务器编程:将JavaScript脚本嵌入脚本嵌入ASP页面中,由服页面中,由服务器端的务器端的ASP服务程序解释执行。服务程序解释执行。u自动管理自动管理Wind

14、ows系统:将系统:将JavaScript脚本保存为独立的脚脚本保存为独立的脚本文件,由本文件,由Windows脚本宿主解释执行,实现对脚本宿主解释执行,实现对Windows系系统的自动管理。统的自动管理。2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.2.2 4.2.2 Windows Windows 脚本宿主脚本宿主一、一、WSH 简介简介lWindows脚本宿主是脚本宿主是Windows脚本的运行环境,内脚本的运行环境,内嵌在微软的嵌在微软的Windows操作系统中。其中,操作系统中。其中,Windows XP已内置已内置WSH 5.6版。版。l脚本引擎是

15、某种脚本语言的解释程序。安装脚本引擎是某种脚本语言的解释程序。安装WSH时时已自动安装已自动安装JavaScript和和VBScrip这两种脚本引擎这两种脚本引擎lWSH可以执行以文本文件格式独立存在的可以执行以文本文件格式独立存在的Windows脚本,如脚本,如.js、.vbs、.wsf、.wsh2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.2.2 4.2.2 Windows Windows 脚本宿主脚本宿主二、编写第一个二、编写第一个JavaScript脚本程序脚本程序例例4.4 使用记事本编写一个使用记事本编写一个JavaScript脚本程序,脚本程序,

16、显示文字显示文字“Hello World!”。操作步骤如下:操作步骤如下:启动启动Windows记事本;记事本;输入以下代码:输入以下代码:WScript.Echo(Hello World!);将这段代码保存在文件将这段代码保存在文件S0404.js中中。2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.2.2 4.2.2 Windows Windows 脚本宿主脚本宿主三、脚本的执行方式三、脚本的执行方式(1)显式启动)显式启动WSH执行脚本执行脚本WSH有两种形式,即窗口式有两种形式,即窗口式WSH(WScript)和)和命令式命令式WSH(CScript),

17、分别对应可执行文件),分别对应可执行文件WScript.exe和和CScript.exe。如:。如:wscript E:ScriptsS0404.js或或 cscript E:ScriptsS0404.jslWScript和和CScript对脚本的执行效果基本相同,对脚本的执行效果基本相同,唯一区别在于输出形式不同唯一区别在于输出形式不同2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.2.2 4.2.2 Windows Windows 脚本宿主脚本宿主三、脚本的执行方式三、脚本的执行方式(2)隐式启动)隐式启动WSH执行脚本执行脚本Windows脚本文件也可以像

18、普通可执行文件那样脚本文件也可以像普通可执行文件那样直接执行:直接执行:l通过通过“我的电脑我的电脑”打开脚本文件所在的文件夹,打开脚本文件所在的文件夹,然后双击它。然后双击它。l通过通过Windows“开始开始”菜单的菜单的“运行运行”命令,键命令,键入脚本文件的完整路径名。入脚本文件的完整路径名。l在命令提示符中键入脚本文件的完整路径名。在命令提示符中键入脚本文件的完整路径名。2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.2.3 4.2.3 使用使用 Windows Windows 脚本帮助脚本帮助l微软在发布微软在发布WSH 5.6时,也为脚本开发者提供

19、了时,也为脚本开发者提供了一个名为一个名为“Microsoft Windows 脚本技术脚本技术”的说明的说明文档(文档(CHM 格式)。它提供了对格式)。它提供了对JScript、VBScript、脚本运行时库和、脚本运行时库和Windows脚本宿言等脚本宿言等技术的详细描述。技术的详细描述。l还可以到微软的脚本中心站点还可以到微软的脚本中心站点(http:/ JavaScript 4.3 JavaScript 编程基础编程基础本节介绍最基本的编程概念,即常量、变量、运算符、本节介绍最基本的编程概念,即常量、变量、运算符、表达式及其类型。表达式及其类型。4.3.1 数据类型与常量数据类型与常

20、量(一)数值型(一)数值型(1)整数)整数l十进制:使用十进制:使用09的数字序列表示。例如:的数字序列表示。例如:25,+234,-998,085。l八进制:使用八进制:使用07的数字序列表示,并且首位必须的数字序列表示,并且首位必须是是0。例如:。例如:0235,-065。l十六进制:使用十六进制:使用09、A、B、C、D、E、F(或或a、b、c、d、e、f)的数码序列表示,并且前两位必须是的数码序列表示,并且前两位必须是0X或或0 x。例如:。例如:0 x235,-0XA8,0XEF。2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.3.1 4.3.1 数据

21、类型与常量数据类型与常量(2)浮点数)浮点数浮点数是可以有小数部分的数值。浮点数常量只能采浮点数是可以有小数部分的数值。浮点数常量只能采用十进制,表示形式有两种:用十进制,表示形式有两种:普通形式。由整数部分、小数点和小数部分组成,如:普通形式。由整数部分、小数点和小数部分组成,如:3.2、12.0、12.、.5、-1.8。指数形式。如指数形式。如5.34e5(表示(表示5.34105)、)、312E-4(表示(表示31210-4)。其中,)。其中,e(或或E)后面的指数是后面的指数是-324308之间之间的整数。如的整数。如23e4321和和1.2e2.5等都是不合法的。等都是不合法的。l另

22、外,另外,JavaScript用一个特殊的数值常量用一个特殊的数值常量NaN(Not a Number的缩写,即的缩写,即“非数字非数字”)表示无意义的数)表示无意义的数学运算结果。学运算结果。2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.3.1 4.3.1 数据类型与常量数据类型与常量(二)字符串型(二)字符串型l字符串用于表示文本数据,由字符串用于表示文本数据,由0个或多个字符组成的个或多个字符组成的序列组成。在表示字符串常量时,必须为字符串首尾序列组成。在表示字符串常量时,必须为字符串首尾添加成对的双引号添加成对的双引号“”或单引号或单引号“”,如:,如

23、:Hello word!世界,您好世界,您好!a 或或 aHi!I said.l转义字符是指以反斜杠转义字符是指以反斜杠“”开头,后跟一个或多个开头,后跟一个或多个字符。字符。例例4.5 2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.3.1 4.3.1 数据类型与常量数据类型与常量(三)布尔型(三)布尔型l布尔型(布尔型(Boolean)就是逻辑型,只有两个值:逻)就是逻辑型,只有两个值:逻辑辑“真真”和逻辑和逻辑“假假”,分别对应于布尔常量,分别对应于布尔常量true和和false。(四)其他类型的常量(四)其他类型的常量lnull是空值常量,表示空的或不存

24、在的对象引用。是空值常量,表示空的或不存在的对象引用。undefined是未定义值常量,表示变量还没有赋值。是未定义值常量,表示变量还没有赋值。2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.3.4.3.2 2 变变量量l变量是程序中一个已命名的存储单元。它有两个变量是程序中一个已命名的存储单元。它有两个基本特征,即变量名(标识变量的名称)和变量基本特征,即变量名(标识变量的名称)和变量值(变量存储的数据)。另外,变量的值可以通值(变量存储的数据)。另外,变量的值可以通过赋值发生变化;不过,在为变量赋予新值之前,过赋值发生变化;不过,在为变量赋予新值之前,变量一

25、直保持它原先所存储的数据。变量一直保持它原先所存储的数据。2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.3.4.3.2 2 变变量量(一)变量命名(一)变量命名变量名由以字母或下划线开头的字母变量名由以字母或下划线开头的字母AZ或或az、数字、数字09和下划线(和下划线(_)构成的字符序列组成。)构成的字符序列组成。如:如:page1、_hg、X1_1不能使用不能使用JavaScript保留字,如保留字,如var。JavaScript变量名是区分大小写的。如变量名是区分大小写的。如n与与N为了提高程序的可读性,要选择易于记忆、有为了提高程序的可读性,要选择易于

26、记忆、有意义的变量名。如意义的变量名。如age也可以使用中文字符命名也可以使用中文字符命名JavaScript变量变量2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.3.4.3.2 2 变变量量(二)变量声明(二)变量声明l使用关键字使用关键字 var 声明变量,格式如下:声明变量,格式如下:var variablename;l也可以同时声明多个变量,如:也可以同时声明多个变量,如:var name,age,weight;(三)为变量赋值(三)为变量赋值方法一:声明变量的同时也给出初始值方法一:声明变量的同时也给出初始值。如:如:var name=张三张三;方法

27、二:使用赋值语句为变量赋值方法二:使用赋值语句为变量赋值。如:如:age=20;2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.3.4.3.2 2 变变量量(四)读取变量的值(四)读取变量的值若要取一个变量的值,若要取一个变量的值,则可以把该变量名放在一个常则可以把该变量名放在一个常量可以出现的位置。量可以出现的位置。例例4.6 了解变量的基本用法和含义,以及注释。了解变量的基本用法和含义,以及注释。var name;/声明变量声明变量 namename=张三张三;/把字符串把字符串“张三张三”存储到变量存储到变量 name 中中age=20;/变量变量 age

28、 被隐式声明,并赋值整数被隐式声明,并赋值整数 20/*以上语句声明两个变量以上语句声明两个变量name、age,并赋值;并赋值;以下语句取出这两个变量的值、并使用以下语句取出这两个变量的值、并使用WScript.Echo方法输出。方法输出。*/WScript.Echo(name);/取出变量取出变量name的值,并输出的值,并输出WScript.Echo(今年今年);/输出字符串输出字符串“今年今年”WScript.Echo(age);/读取变量读取变量age的值,并输出的值,并输出WScript.Echo(岁岁);/输出字符串输出字符串“岁岁”2023/1/142023/1/14中山大学计

29、算机科学系中山大学计算机科学系4.3.4.3.2 2 变变量量(五)变量类型(五)变量类型l在在JavaScript中,变量类型是指变量值所属的数据中,变量类型是指变量值所属的数据类型。由于类型。由于JavaScript是一种弱类型的编程语言,允是一种弱类型的编程语言,允许把任何类型的数据赋值给变量,因此许把任何类型的数据赋值给变量,因此JavaScript变变量的类型是动态的,只有在程序运行时才能动态确定。量的类型是动态的,只有在程序运行时才能动态确定。l例例4.7 编写以下编写以下JavaScript程序并使用程序并使用CScript执行,执行,以了解变量类型的动态性。以了解变量类型的动态

30、性。var x=20;WScript.Echo(typeof(x);x=您好您好;WScript.Echo(typeof(x);x=true;WScript.Echo(typeof(x);2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.3.4.3.2 2 变变量量(六)简述变量的作用域(六)简述变量的作用域l变量的作用域是指变量起作用的范围,在该范围变量的作用域是指变量起作用的范围,在该范围内可引用该变量。在引入函数概念之前,本章大内可引用该变量。在引入函数概念之前,本章大多数示例使用的都是全局变量,其作用范围是同多数示例使用的都是全局变量,其作用范围是同一个脚

31、本文件,也就是说,只要定义了一个变量,一个脚本文件,也就是说,只要定义了一个变量,那么在同一个脚本文件中的后续脚本就可以使用那么在同一个脚本文件中的后续脚本就可以使用它。它。2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.3.3 4.3.3 运算符与表达式运算符与表达式4.3.3.1 基本概念基本概念l运算符是指定计算操作的符号(如运算符是指定计算操作的符号(如+、-、*、等)等)。其中,把被计算的值称为操作数。其中,把被计算的值称为操作数。l依赖操作数的个数,可将运算符分为单目运算符、依赖操作数的个数,可将运算符分为单目运算符、双目运算符和三目运算符。双目运算

32、符和三目运算符。l表达式是运算符和操作数组合而成的式子,如表达式是运算符和操作数组合而成的式子,如123、x、x+100l表达式具有值,这个值是对操作数实施运算符所表达式具有值,这个值是对操作数实施运算符所确定的计算后产生的结果值。例如,如果有定义确定的计算后产生的结果值。例如,如果有定义“var x=123;”,那么,那么123、x、x+100的值分别是数的值分别是数值值123、123、223。2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.3.3 4.3.3 运算符与表达式运算符与表达式4.3.3.2 运算符的优先级运算符的优先级l在计算复杂表达式时,先要计

33、算子表达式的值,在计算复杂表达式时,先要计算子表达式的值,而计算这些子表达式的顺序依赖于运算符的优先而计算这些子表达式的顺序依赖于运算符的优先级(优先级越高越先计算)。级(优先级越高越先计算)。l例例l尽量使用简单的表达式尽量使用简单的表达式2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.3.3 4.3.3 运算符与表达式运算符与表达式4.3.3.3 运算符的结合性运算符的结合性当表达式中连续出现的几个运算符优先级相同时,当表达式中连续出现的几个运算符优先级相同时,其运算顺序由结合性决定,分为其运算顺序由结合性决定,分为:l左结合:是指左边的运算符优先计算,如左

34、结合:是指左边的运算符优先计算,如 10-2-5l右结合:是指右边的运算符优先计算,如右结合:是指右边的运算符优先计算,如 x=y=1002023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.3.3 4.3.3 运算符与表达式运算符与表达式4.3.3.4 表达式中的类型转换表达式中的类型转换lJavaScript会根据运算符的特性和操作数的类型会根据运算符的特性和操作数的类型进行隐式类型转换。进行隐式类型转换。例例4.8 求求100+300、100+300、100+300和和100+300。例例4.9 求求100-300、100-300、100-300和和100-30

35、0。例例4.10 求求true+100、true+100、true+false、true-false。例例4.11 求表达式求表达式 a 100 的值。的值。l控制控制方法方法对于对于+运算符:运算符:如果有一个操作数为字符串,如果有一个操作数为字符串,则为则为字符串连接运算字符串连接运算;如果两个操作数都不是字符串,如果两个操作数都不是字符串,则则是算术加运算。是算术加运算。对于其他运算符,对于其他运算符,自动把自动把操作数转换为相应类型操作数转换为相应类型使用函数使用函数parseInt()和和parseFloat()显式转换显式转换2023/1/142023/1/14中山大学计算机科学系

36、中山大学计算机科学系4.3.4 4.3.4 JavaScriptJavaScript运算符运算符4.3.4.1 算术运算符算术运算符lJavaScript算术运算符的操作数和计算结果都是算术运算符的操作数和计算结果都是数值型,包括数值型,包括+、-、*、/、%、+x、x+、-x、x-l例例 10%3 /等于等于 1/若有若有 var x=100,y;y=+x;y=x+;y=-x;y=x-;l例例4.12 买东西付了买东西付了$105,税率为,税率为0.05,那么标价,那么标价是多少?一共又付了多少税钱?是多少?一共又付了多少税钱?2023/1/142023/1/14中山大学计算机科学系中山大学

37、计算机科学系4.3.4 4.3.4 JavaScriptJavaScript运算符运算符4.3.4.2 关系运算符关系运算符l关系运算符(又称比较运算符)对操作数进行比较,返关系运算符(又称比较运算符)对操作数进行比较,返回一个布尔值。包括回一个布尔值。包括、=、=、!=、=、!=l比较运算符的操作数一般为数值型数据,但也可以是其比较运算符的操作数一般为数值型数据,但也可以是其他类型的数据:他类型的数据:如果两个操作数都是字符串,则进行字符串比较运算如果两个操作数都是字符串,则进行字符串比较运算(比较字符的(比较字符的Unicode码值)。例如:码值)。例如:a=a、ab=ab、aab、abX

38、YZ、xXYZ如果至少有一个操作数不是字符串,就先将非数值型如果至少有一个操作数不是字符串,就先将非数值型操作数转换为数值,然后进行数值比较运算。例如:操作数转换为数值,然后进行数值比较运算。例如:210、1true、truefalse、2=0X2、1=true、true=true2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.3.4 4.3.4 JavaScriptJavaScript运算符运算符4.3.4.3 逻辑运算符逻辑运算符l逻辑运算符的操作数和计算结果都是布尔值,包逻辑运算符的操作数和计算结果都是布尔值,包括括&、|、!l例如,若有变量例如,若有变量

39、x,则,则判断判断“x是属于是属于10,99之间的数值之间的数值”的表达式写成:的表达式写成:x=10&x100|(x0)2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.3.4 4.3.4 JavaScriptJavaScript运算符运算符4.3.4.4 位操作运算符位操作运算符l位操作运算符用于对整数的二进制位进行操作,位操作运算符用于对整数的二进制位进行操作,计算结果仍为整数,计算结果仍为整数,包括包括&、|、l例例4.13 var a=4,b=7,c=2,result;WScript.Echo(a=4(0100),b=7(0111),c=2);resul

40、t=a&b;WScript.Echo(a&b=+result);result=a|b;WScript.Echo(a|b=+result);result=ab;WScript.Echo(ab=+result);result=ac;WScript.Echo(ac;WScript.Echo(ac=+result);result=ac;WScript.Echo(ac=+result);result=-12;WScript.Echo(-12=+result);result=-12;WScript.Echo(-12=+result);2023/1/142023/1/14中山大学计算机科学系中山大学计算机科

41、学系4.3.4 4.3.4 JavaScriptJavaScript运算符运算符4.3.4.5 赋值运算符赋值运算符l最基本的赋值运算符是等于号(最基本的赋值运算符是等于号(=),用于对变),用于对变量进行赋值。量进行赋值。l另外,一些运算符也可以和等于号(另外,一些运算符也可以和等于号(=)联合使)联合使用,构成组合赋值运算符用,构成组合赋值运算符,如如=、+=、-=、*=、/=、%=、&=、|=、=、=、=2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.3.4 4.3.4 JavaScriptJavaScript运算符运算符4.3.4.6 条件运算符条件运算

42、符l条件运算符格式如下:条件运算符格式如下:condition?true_result:false_result l如果如果condition为真,则表达式的值为为真,则表达式的值为true_result子表达式的值,否则为子表达式的值,否则为false_result子表达式的值。子表达式的值。l例例4.14 var age,status;age=20;status=(age=18)?已成年已成年:未成年未成年;WScript.Echo(小李小李+status);2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.3.4 4.3.4 JavaScriptJavaSc

43、ript运算符运算符4.3.4.7 其他运算符其他运算符JavaScript还包含其他几个特殊的运算符,还包含其他几个特殊的运算符,如如.(),deletenewtypeofvoid2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.44.4 JavaScript JavaScript 流程控制流程控制lJavaScript支持结构化程序设计方法,即支持顺支持结构化程序设计方法,即支持顺序、选择和循环这三种流程结构。序、选择和循环这三种流程结构。l所谓顺序结构就是指构成所谓顺序结构就是指构成JavaScript程序的多条程序的多条语句按照它们的书写顺序从头到尾依次执

44、行语句按照它们的书写顺序从头到尾依次执行l在在JavaScript中,每条语句应该以一个分号(中,每条语句应该以一个分号(;)结束,不过有时没有分号也不会出错。另外,结束,不过有时没有分号也不会出错。另外,JavaScrip允许把多条语句写在同一行中,此时,允许把多条语句写在同一行中,此时,语句之间就一定要加上分号。语句之间就一定要加上分号。2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.4.1 4.4.1 宿主的输入与输出功能宿主的输入与输出功能JavaScript语言没有直接提供输入与输出的语句,语言没有直接提供输入与输出的语句,只能借助脚本宿主对象所提供的

45、有关方法进行基只能借助脚本宿主对象所提供的有关方法进行基本的输入与输出。本的输入与输出。(一)使用(一)使用WScript对象的对象的Echo方法方法l命令格式:命令格式:WScript.Echo(Arg1,Arg2,Arg3.);l例如:例如:WScript.Echo(HelloWorld!);WScript.Echo(Hello,World!);WScript.Echo(1+2,=,1+2);2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.4.1 4.4.1 宿主的输入与输出功能宿主的输入与输出功能(二)使用(二)使用WScript.Shell对象的对象的P

46、opup方法方法l命令格式:命令格式:iB=object.Popup(strText,nSecondsToWait,strTitle,nType)l例例4.15var shell=WScript.CreateObject(WScript.Shell);var BtnCode=shell.Popup(您来过中大吗?您来过中大吗?,8,确认框示例确认框示例,1);var visited=(BtnCode=1);var show_text=visited?您也认为中大很美吧!您也认为中大很美吧!:欢迎您有机会来中大参观欢迎您有机会来中大参观!;WScript.Echo(show_text);2023

47、/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.4.1 4.4.1 宿主的输入与输出功能宿主的输入与输出功能(三)使用(三)使用WScript的标准输入的标准输入/输出流对象输出流对象StdIn、StdOutlWScript的子对象的子对象StdIn、StdOut分别对应于分别对应于Windows命令符命令符窗口中的标准输入、输出流,因此,这两个对象只有用窗口中的标准输入、输出流,因此,这两个对象只有用CScript执行才有效。执行才有效。lWScript.StdIn对象的对象的ReadLine方法从标准输入流中读取一行方法从标准输入流中读取一行文本;而文本;而WScr

48、ipt.StdOut对象的对象的WriteLine方法则是向标准输出方法则是向标准输出流输出一行文本。流输出一行文本。l例例4.16 WScript.StdOut.WriteLine(请输入您的姓名请输入您的姓名:);var name=WScript.StdIn.ReadLine();WScript.StdOut.WriteLine(尊敬的尊敬的+name+:欢迎您进入:欢迎您进入脚本世界!脚本世界!);2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.4.2 4.4.2 选择结构选择结构lJavaScript 支持支持if 语句和语句和 switch 语句语句4

49、.4.2.1 if 语句语句一、一、ifelse 语句语句if语句的基本形式是语句的基本形式是:if(判定条件判定条件)语句语句1;else 语句语句2;l这种形式的这种形式的 if 语句支持典型的二路选择结构,也就是,根据语句支持典型的二路选择结构,也就是,根据某种情况的判断,要么执行语句某种情况的判断,要么执行语句A,要么执行语句,要么执行语句B。语句。语句A和和语句语句B不会同时执行。不会同时执行。2023/1/142023/1/14中山大学计算机科学系中山大学计算机科学系4.4.2 4.4.2 选择结构选择结构l例例4.17 分别输入两个数给变量分别输入两个数给变量x、y,然后求出这两

50、,然后求出这两个变量中的最大值。个变量中的最大值。var x,y,max;WScript.StdOut.WriteLine(x=);x=parseFloat(WScript.StdIn.ReadLine();WScript.StdOut.WriteLine(y=);y=parseFloat(WScript.StdIn.ReadLine();if(xy)/若若xy,则则x是最大值,否则是最大值,否则y是最大值是最大值 max=x;else max=y;WScript.StdOut.WriteLine(最大值是最大值是:+max);2023/1/142023/1/14中山大学计算机科学系中山大学计

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁