JavaScript程序设计:第三章 表达式与操作符

上传人:鲁** 文档编号:571315203 上传时间:2024-08-10 格式:PPT 页数:20 大小:317.50KB
返回 下载 相关 举报
JavaScript程序设计:第三章 表达式与操作符_第1页
第1页 / 共20页
JavaScript程序设计:第三章 表达式与操作符_第2页
第2页 / 共20页
JavaScript程序设计:第三章 表达式与操作符_第3页
第3页 / 共20页
JavaScript程序设计:第三章 表达式与操作符_第4页
第4页 / 共20页
JavaScript程序设计:第三章 表达式与操作符_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《JavaScript程序设计:第三章 表达式与操作符》由会员分享,可在线阅读,更多相关《JavaScript程序设计:第三章 表达式与操作符(20页珍藏版)》请在金锄头文库上搜索。

1、高等学校计算机应用人才培养系列教材3.1第三章第三章 表达式与操作符表达式与操作符高等学校计算机应用人才培养系列教材3.2本章结构本章结构u表达式表达式u运算符概述运算符概述u算数运算符算数运算符u比较运算符比较运算符u逻辑运算符逻辑运算符u逐位运算符逐位运算符u条件运算符条件运算符u其它运算符其它运算符高等学校计算机应用人才培养系列教材3.3表达式表达式u表表达达式式是是各各种种数数值值、变变量量、运运算算符符的的综综合合体体,最最简简单单的的表表达式可以是常量或者变量名称。达式可以是常量或者变量名称。u表表达达式式的的值值是是表表达达式式运运算算的的结结果果,常常量量表表达达式式的的值值就

2、就是是常常量本身,变量表达式的值则是变量引用的值。量本身,变量表达式的值则是变量引用的值。 u在在实实际际编编程程中中,可可以以使使用用运运算算数数和和运运算算符符建建立立复复杂杂的的表表达达式式,运运算算数数是是一一个个表表达达式式内内的的变变量量和和常常量量,运运算算符符是是表表达达式中用来处理运算数的各种符号。式中用来处理运算数的各种符号。 n常量表达式:常量表达式:“skycobra” n变量表达式:变量表达式:examplen赋值表达式:赋值表达式:stringExample = “小郭小郭”;高等学校计算机应用人才培养系列教材3.4运算符概述运算符概述u运算符的优先级运算符的优先级

3、n如果表达式中存在多个运算符,那么它们总是按照一定的顺序被如果表达式中存在多个运算符,那么它们总是按照一定的顺序被执行,表达式中运算符的执行顺序被称为运算符的优先级。执行,表达式中运算符的执行顺序被称为运算符的优先级。n可以改变默认的运算顺序,使之满足需要,方法就是使用运算符可以改变默认的运算顺序,使之满足需要,方法就是使用运算符“()”,因为括号运算符的优先级高于其他运算符的优先级。,因为括号运算符的优先级高于其他运算符的优先级。优先级见优先级见P44表表3-1u运算数的类型运算数的类型n不同运算符对其处理的运算数存在类型要求,例如不能将两个由不同运算符对其处理的运算数存在类型要求,例如不能

4、将两个由非数字字符组成的字符串进行乘法运算。非数字字符组成的字符串进行乘法运算。nJavaScript会在运算过程中,按需要自动转换运算数的类型,例如会在运算过程中,按需要自动转换运算数的类型,例如由数字组成的字符串在进行乘法运算时将自动转换成数字。由数字组成的字符串在进行乘法运算时将自动转换成数字。n运算数的类型不一定与表达式的结果相同,例如比较表达式中的运算数的类型不一定与表达式的结果相同,例如比较表达式中的运算数往往不是布尔型数据,而返回结果总是布尔型数据。运算数往往不是布尔型数据,而返回结果总是布尔型数据。高等学校计算机应用人才培养系列教材3.5高等学校计算机应用人才培养系列教材3.6

5、运算符概述运算符概述u运算符的类型运算符的类型n根根据据运运算算数数的的个个数数,可可以以将将运运算算符符分分为为三三种种类类型型:一一元运算符、二元运算符和三元运算符。元运算符、二元运算符和三元运算符。 一一元元运运算算符符是是指指只只需需要要一一个个运运算算数数参参与与运运算算的的运运算算符符,一一元元运运算符的典型应用是取反运算。算符的典型应用是取反运算。二二元元运运算算符符需需要要两两个个运运算算数数参参与与运运算算,JavaScript中中的的大大部部分分运算符都是二元运算符,比如加法运算符、比较运算符等等。运算符都是二元运算符,比如加法运算符、比较运算符等等。JavaScript还

6、还支支持持三三元元运运算算符符“?:”,这这种种运运算算符符比比较较特特殊殊,它可以将三个表达式合并为一个复杂的表达式。它可以将三个表达式合并为一个复杂的表达式。 高等学校计算机应用人才培养系列教材3.7算数运算符算数运算符u加法运算符加法运算符n二元运算符,可以对数字型的运算数进行加法操作,如二元运算符,可以对数字型的运算数进行加法操作,如204+108;u减法运算符减法运算符n二元运算符,可以对数字型运算数进行减法法操作,如二元运算符,可以对数字型运算数进行减法法操作,如204-108;u乘法运算符乘法运算符n二元运算符,可以对数字型运算数进行乘法法操作。二元运算符,可以对数字型运算数进行

7、乘法法操作。n如如果果运运算算数数不不是是数数字字型型,那那么么JavaScript会会将将其其自自动动转转换换为为数数字字型型,如果无法转换为数字型,运算结果将返回如果无法转换为数字型,运算结果将返回“NaN” 。u除法运算符除法运算符n二二元元运运算算符符,可可以以对对数数字字型型运运算算数数进进行行除除法法法法操操作作。运运算算规规则则与与乘法运算类似。但是,如果除数为乘法运算类似。但是,如果除数为0,结果为,结果为“Infinity” 。高等学校计算机应用人才培养系列教材3.8算数运算符算数运算符u 模运算符模运算符n又又称称为为取取余余数数运运算算符符,用用于于计计算算第第一一个个运

8、运算算数数对对第第二二个个运运算算数数的的模,也就是用第一个运算数去除第二个运算数,获取余数。模,也就是用第一个运算数去除第二个运算数,获取余数。n任任何何数数字字和和字字符符对对0取取模模,结结果果都都是是“NaN”;另另外外,如如果果运运算算数数中包含无法转换成数字的内容,运算结果也是中包含无法转换成数字的内容,运算结果也是“NaN”。u增量运算符增量运算符n增量运算符是一元操作符,可对运算数进行增量操作,增量为增量运算符是一元操作符,可对运算数进行增量操作,增量为1。n增量运算数必须是变量、数组元素或者对象属性,不能是常量。增量运算数必须是变量、数组元素或者对象属性,不能是常量。n增量运

9、算有两种不同的形式:增量运算有两种不同的形式:i+和和+i。u减量运算符减量运算符n减量运算符是一元操作符,可对运算数进行减量操作,减量为减量运算符是一元操作符,可对运算数进行减量操作,减量为1。n减量运算符的规则和形式可以参考增量运算符。减量运算符的规则和形式可以参考增量运算符。高等学校计算机应用人才培养系列教材3.9比较运算符比较运算符u等于运算符等于运算符(=)n等等于于运运算算符符用用于于判判断断两两个个运运算算数数是是否否相相等等,如如果果相相等等返回返回true,如果不相等返回,如果不相等返回false。n如如果果被被比比较较的的运运算算数数是是同同类类型型的的,那那么么等等于于运

10、运算算符符将将直接对运算数进行比较。直接对运算数进行比较。n如如果果被被比比较较的的运运算算数数类类型型不不同同,那那么么等等于于运运算算符符在在比比较两个运算数之前会自动对其进行类型转换。较两个运算数之前会自动对其进行类型转换。n两两个个对对象象、数数组组或或者者函函数数的的比比较较是是引引用用内内容容的的比比较较,换换句句话话说说,只只有有两两个个变变量量引引用用的的是是同同一一个个对对象象、数数组组或者函数的时候,它们才是相等的。或者函数的时候,它们才是相等的。n特殊值的比较特殊值的比较高等学校计算机应用人才培养系列教材3.10高等学校计算机应用人才培养系列教材3.11比较运算符比较运算

11、符u严格等于运算符严格等于运算符(=)n严严格格等等于于运运算算符符(= = =)也也是是运运用用判判断断两两个个运运算算数数是是否否相相等等,但但是是它它在在比比较较之之前前不不会会对对运运算算数数的的类类型型进进行行自自动动转转换换。只只有有两两个个运运算算数数在在没没有有进进行行类类型型转转换换前前是是相相等等的的,它它才才会会返返回回true,否否则则返返回回false。n严严格格不不等等于于运运算算符符不不进进行行数数据据的的类类型型转转换换,所所以以不不同同类类型型的的运运算算数数都都是是不不相相等等的的。例例如如:字字符符串串“5”和和数数字字5在在等等于于运运算算符符判判断断下

12、是相同的,但在严格不等于运算符判断下就是不相同的。下是相同的,但在严格不等于运算符判断下就是不相同的。n特特殊殊值值的的比比较较也也发发生生了了一一些些变变化化:在在严严格格不不等等于于运运算算符符的的判判断断下下,null和未定义类型的数据不相等。和未定义类型的数据不相等。高等学校计算机应用人才培养系列教材3.12比较运算符比较运算符u不等于运算符不等于运算符(!=)n不不等等于于运运算算符符用用于于判判断断两两个个运运算算数数是是否否相相等等,相相等等返返回回false,不不相等返回相等返回true 。n不不等等于于运运算算符符和和等等于于运运算算符符的的数数据据类类型型转转换换规规则则,

13、对对象象、数数组组和和函函数数的的比比较较方方法法,以以及及特特殊殊值值的的处处理理情情况况都都可可以以参参考考等等于于运运算算符符的情况。的情况。u严格不等于运算符严格不等于运算符(!=)n严严格格不不等等于于运运算算符符与与严严格格等等于于运运算算符符比比较较规规则则相相反反:如如果果两两个个没没有经过类型转换的运算数完全相等,返回有经过类型转换的运算数完全相等,返回false,否则返回,否则返回true。n其他情况可以参看严格等于运算符。其他情况可以参看严格等于运算符。高等学校计算机应用人才培养系列教材3.13比较运算符比较运算符u小于运算符小于运算符()n小小于于运运算算符符用用于于比

14、比较较两两个个运运算算数数,如如果果第第一一个个运运算算数数小小于于第第二二个个运算数,那么计算结果返回运算数,那么计算结果返回true,否则返回,否则返回false。n运运算算数数可可以以是是任任何何类类型型,但但是是比比较较运运算算只只能能在在数数字字和和字字符符串串上上执执行,所以不是数字和字符类型的数据都会被转换成这两种类型。行,所以不是数字和字符类型的数据都会被转换成这两种类型。n如如果果两两个个运运算算数数是是数数字字,或或者者都都被被转转换换成成数数字字,那那么么比比较较按按照照数数字大小规则执行。字大小规则执行。n如如果果两两个个运运算算数数是是字字符符串串,或或者者都都被被转

15、转换换成成字字符符串串,那那么么比比较较按按照字母顺序规则执行。照字母顺序规则执行。n如如果果一一个个是是字字符符串串或或者者被被转转换换成成字字符符串串,一一个个是是数数字字或或者者被被转转换换成成数数字字,那那么么首首先先会会将将字字符符串串转转换换成成数数字字,然然后后按按照照数数字字大大小小规规则执行比较。则执行比较。n如如果果运运算算数数中中包包含含无无法法转转换换成成数数字字也也无无法法转转换换成成字字符符串串的的内内容容,那么比较结果将是那么比较结果将是false。高等学校计算机应用人才培养系列教材3.14比较运算符比较运算符u小于等于运算符小于等于运算符()n大大于于运运算算符

16、符用用于于比比较较两两个个运运算算数数,如如果果第第一一个个运运算算数数大大于于第第二二个个运算数,那么计算结果返回运算数,那么计算结果返回true,否则返回,否则返回false。u大于等于运算符大于等于运算符(=)n大大于于等等于于运运算算符符用用于于比比较较两两个个运运算算数数,如如果果第第一一个个运运算算数数大大于于等等于第二个运算数,那么计算结果返回于第二个运算数,那么计算结果返回true,否则返回,否则返回false。u以上三种运算符的其它规则可以参看小于运算符以上三种运算符的其它规则可以参看小于运算符高等学校计算机应用人才培养系列教材3.15逻辑运算符逻辑运算符u逻辑与运算符(逻辑

17、与运算符(&)n逻逻辑辑与与运运算算符符是是一一个个二二元元运运算算符符,如如果果它它的的两两个个布布尔尔型型运运算算数数都都是是true,那那么么运运算算结结果果为为true,如如果果它它的的两两个个布布尔尔型型运运算算数数中中有有一一个或者两个为个或者两个为false,那么运算结果为,那么运算结果为false。u逻辑或运算符(逻辑或运算符(|)n如如果果逻逻辑辑或或运运算算符符的的两两个个布布尔尔型型运运算算数数中中有有一一个个是是true,那那么么运运算算结结果果为为true,如如果果它它的的两两个个布布尔尔型型运运算算数数全全部部为为false,那那么么运运算算结果为结果为false。

18、u逻辑非运算符(!)逻辑非运算符(!)n逻逻辑辑非非运运算算符符是是一一个个一一元元运运算算符符,其其作作用用是是先先计计算算其其运运算算数数的的布布尔值,然后对运算数的布尔值取反,并作为结果返回。尔值,然后对运算数的布尔值取反,并作为结果返回。高等学校计算机应用人才培养系列教材3.16赋值运算符赋值运算符u简单的赋值运算符简单的赋值运算符(=)n赋赋值值运运算算符符要要求求它它左左边边是是一一个个变变量量、数数组组元元素素或或者者对对象象属属性性;右右边边是是一一个任意类型的值,可以是常量、变量、也可以是数组元素或者对象属性。个任意类型的值,可以是常量、变量、也可以是数组元素或者对象属性。n

19、赋赋值值运运算算符符的的作作用用就就是是将将它它右右边边的的值值赋赋给给左左边边的的变变量量、数数组组元元素素或或者者对对象属性。象属性。name = “无双无双”;m = n = 204;u带操作的赋值运算符带操作的赋值运算符n带带操操作作的的赋赋值值运运算算符符将将简简单单的的赋赋值值运运算算符符和和其其他他一一些些运运算算符符结结合合在一起,提供了比较强大而简便的运算功能。在一起,提供了比较强大而简便的运算功能。 “sum += number等同于等同于sum=sum+number高等学校计算机应用人才培养系列教材3.17其它运算符其它运算符u条件运算符(?:)条件运算符(?:)n条条件

20、件运运算算符符(?:)是是一一个个三三元元运运算算符符,它它有有三三个个运运算算数数,第第一一个个运运算算数数是是布布尔尔型型,通通常常由由一一个个表表达达式式计计算算而而来来,第第二二个个和和第第三三个运算数可以是任意类型的数据,或者任何形式的表达式。个运算数可以是任意类型的数据,或者任何形式的表达式。n条条件件运运算算符符的的作作用用是是:如如果果第第一一个个运运算算数数为为true,那那么么条条件件表表达达式式的的值值就就是是第第二二个个运运算算数数,如如果果第第一一个个运运算算数数是是false,那那么么条条件件表达式的值就是第三个参数。例如:表达式的值就是第三个参数。例如:x y ?

21、 x-y : y-x;u逗号运算符(,)逗号运算符(,)n逗逗号号运运算算符符首首先先计计算算其其左左边边的的值值,然然后后计计算算其其右右边边的的值值,不不过过运运算算的的结结果果是是舍舍弃弃逗逗号号左左边边的的值值,返返回回逗逗号号右右边边的的值值。例例如如:number = (2+5,4*6); n逗号运算符还可以用于分隔变量,例如:逗号运算符还可以用于分隔变量,例如:var m=10, n=20; 高等学校计算机应用人才培养系列教材3.18其它运算符其它运算符u新建运算符(新建运算符(new)n新新建建运运算算符符是是一一个个一一元元运运算算符符,用用于于创创建建JavaScript对

22、对象象实实例例,例例如如:var test = new Object();u删除运算符(删除运算符(delete)n删删除除运运算算符符用用于于删删除除一一个个对对象象的的属属性性或或者者一一个个数数组组的的某某个个元元素素,也也可可以以用于取消它们原有的定义。例如:用于取消它们原有的定义。例如:delete arrayExample10utypeof运算符运算符n其其运运算算数数可可以以是是任任意意类类型型,运运算算结结果果返返回回一一个个字字符符串串,用用于于表表示示运运算算数数的类型。的类型。uvoid运算符运算符nvoid运运算算符符是是一一个个一一元元运运算算符符,其其作作用用是是舍

23、舍弃弃其其运运算算数数的的类类型型,然后返回一个未定义的值。然后返回一个未定义的值。 高等学校计算机应用人才培养系列教材3.19本章小结本章小结uJavaScript中的表达式是各种数值、变量、运算符的综合体。中的表达式是各种数值、变量、运算符的综合体。uJavaScript中中的的运运算算符符用用来来对对一一个个或或者者多多个个值值进进行行操操作作并并产产生生单单一一的的结果值。结果值。 u根根据据运运算算数数的的个个数数,可可以以将将JavaScript运运算算符符分分为为三三种种类类型型:一一元元运运算符、二元运算符和三元运算符。算符、二元运算符和三元运算符。uJavaScript常常用

24、用的的运运算算符符有有:算算数数运运算算符符、比比较较运运算算符符、逻逻辑辑运运算算符符、逐逐位位运运算算符符、条条件件运运算算符符和和赋赋值值运运算算符符,另另外外还还包包括括一一些些其其他他类类型型的的运算符,比如逗号运算符、运算符,比如逗号运算符、new运算符、运算符、typeof运算符等等。运算符等等。u不不同同运运算算符符对对其其处处理理的的运运算算数数存存在在类类型型要要求求,而而JavaScript又又是是一一种种无无类类型型的的计计算算机机语语言言,所所以以在在运运算算过过程程中中,JavaScript会会在在需需要要的的时时候对运算数类型进行自动转换。候对运算数类型进行自动转换。高等学校计算机应用人才培养系列教材3.20思考题思考题uJavaScript中有哪些运算符?它们的优先级是什么?中有哪些运算符?它们的优先级是什么?u考虑考虑108+204和和“108”+204的运算结果有什么不同?的运算结果有什么不同?u如何改变算数运算符默认的优先级?如何改变算数运算符默认的优先级?u不同比较运算符的运算逻辑分别是什么?不同比较运算符的运算逻辑分别是什么?u不同逻辑运算符的运算逻辑分别是什么?不同逻辑运算符的运算逻辑分别是什么?

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号