天学js-第4章表达式与运算符.ppt

上传人:xin****828 文档编号:15513107 上传时间:2020-08-14 格式:PPT 页数:26 大小:243KB
收藏 版权申诉 举报 下载
天学js-第4章表达式与运算符.ppt_第1页
第1页 / 共26页
天学js-第4章表达式与运算符.ppt_第2页
第2页 / 共26页
天学js-第4章表达式与运算符.ppt_第3页
第3页 / 共26页
资源描述:

《天学js-第4章表达式与运算符.ppt》由会员分享,可在线阅读,更多相关《天学js-第4章表达式与运算符.ppt(26页珍藏版)》请在装配图网上搜索。

1、第四讲:表达式与运算符,讲师:杨兴 e-mail:,课程内容安排,表达式 操作数 运算符介绍 算术运算符 关系运算符 字符串运算符 赋值运算符 逻辑运算符 位运算符 其它运算符 运算符的优先级,表达式,表达式 表达式是产生一个结果值的式子,JavaScript的表达式是由常量、变量和运算符等组成。 表达式可以作为参数传递给函数,或将表达式结果赋予给变量保存起来。 表达式的结果值有多种类型,比如布尔型、字符串型或数值型等,因此常有逻辑表达式、数值表达式和布尔表达式之说。 下面举例说明如何定义和使用表达式。,操作数,操作数 操作数是指表达式中的变量或常量,在javascript中也包含表达式的返回

2、值(实际上就是一个常量),常提供计算用的数据。 下面是操作数在表达式中的形态。 ( A + B + C ) / D 其中A、B、C、D就是操作数,而“+”和“/”则是操作符,操作符将在下一节介绍。操作数的数据类型由表达式的类型和运算符所支持的数据类型来决定的,上述代码中若表达式是数值表达式则需要A、B、C和D的类型皆为数值或可以转换为数值。,运算符介绍,运算符 运算符是指程序设计语言中有运算意义的符号,类似于普通数学里运算符。通常,每一门数学都定义了一个数集和在数集上可以进行的运算。程序设计语言也一样,规定了其支持的数据类型以及数据可以进行的运算。JavaScript的运算符包含算术运算符、逻

3、辑运算符和一些特殊的运算符。 在JavaScript中有单目和多目之分,单目运算符带一个操作数,多目运算符带多个操作数 ,如下所示。 ( 1 2 ) 3 / 数学表达式 +A/ 左结合递增 操作数的类型 表达式中的操作数要么是常量要么是变量,常量和变量都有其特定的数据类型。构成表达式的操作数的数据类型是由变量或常量的类型来确定 。下面来看一个例子。,算术运算符,加法运算符 加法运算符使用数学符号“+”,属于双目运算运算符,返回两个操作数的算术和。操作数的类型要求为数值型,如果是字符串型则意义不同,主要运用在数值求和的场合,其语法如下代码所示。 操作数1 + 操作数2。 示例如下所示。,01/

4、脚本程序开始 02 08,算术运算符,减法运算符 减法运算符使用数学符号“”,属于双目运算符,返回两个操作数的算术差,操作数类型要求为数值型。含义与数学上的减法计算完全一样,使用的形式如下代码所示。 操作数1 操作数2,01/ 脚本程序开始 02 08,算术运算符,乘法运算符 乘法运算符使用符号“*”,属于双目运算符,返回两个操作数的算术积。运算意义上完全等同于数学上的乘法计算,使用语法如下所示 。 操作数* 操作数2,01 02var employee = 300;/ 雇员总数 03var prize = 370;/ 每人奖金数额 04var total = employee * prize

5、;/ 预算总额 05alert( 预算: + total + 元 );/ 输出总额 06,算术运算符,除法运算符 除法运算符使用符号“/”,也是属于双目运算符,操作数类型要求为数值型。其返回两个操作数之商,JavaScript返回的商是实数集内的数据,也就是浮点型数据。意义上等同于数学中的除法运算,因此可用在求商的场合,使用语法如下。 操作数1 / 操作数2,01/ 脚本程序开始 02 07,算术运算符,模运算符 取模运算符使用符号“%”,其作用是求一个数除以另一个数的余数。操作数的类型要求为数值型或能转换为数值型的类型,属于双目运算符。事实上“模”可以这样理解,如手表上的小时刻度,每到12点

6、以后就是1点,此钟表的模为12。通常取模运算可以取求某个数的倍数 。,01 02for( i = 1; i,算术运算符,负号运算符 负号运行符使用符号“-”,取负也就是等于取反。等同于数学意义的上负号,属于单目运算符,语法如下。 -操作数 这里就负号运算符来看一个例子。,01 02 07,算术运算符,正号运算符 正号运算符使用符号“+”,针对数值类型操作数,意义上等同于数学上的正号。属于单目运算符,语法如下。 + 操作数 递增运算符代码的装入 递增运算符使用符号“+”,也称为自增运算符,属于单目运算符。可使数值类型的变量值自增一,操作数只能是变量。使用形式分左结合与右结合两种,左结合在表达式中

7、的效果是先递增再使用,右结果则是先使用再递增。语法如下: 变量名+;/ 右结束递增 +变量名;/ 左结合递增代码的执行,算术运算符,递减运算符 递减运算符使用符号“-”,也称为自减运算符,可使变量的值自减一。效果与递增运算符完全相反,也有左结合与右结合之分,情况与递增运算符相同,此不赘述,下面来看一个例子。,01 02 );/ 输出换行标签 06 a- ; / a自减一(右结合) 07 document.write( a );/ 输出变量a 08 document.write( );/ 输出换行 09 -a; / a自减一(左结合) 10 document.write( a );/ 输出变量a

8、 11 document.write( );/ 输出换行 12 if( -a = 2 )/ 测试左、右结合位于表达式中的情况 13 14 document.write( 左结合的情形 );/ 输出提示信息 15 16 if( a- = 2 )/ 等于2时 17 18 document.write( 右结合的情形 );/ 输出提示信息 19 20- 21,关系运算符,相等运算符 相等运算符使用符号“=”,判断两个操作数是否相等。如果相等返回布尔值true,否则返回false。属于双目运算符,两个操作数的数据类型可以任意。运行时,“=”操作符将两端的操作数转换为同一种数据类型后再作比较。使用语法如

9、下: 操作数A = 操作数B 等同运算符 前述及的相等运算符“=”进行的是非严格意义上的相等性判断,即通过类型转为后相等的也返回true。而等同运算符“=”是严格意义上的相等,两个值和它们的类型完全一致时才返回true,使用语法如下: 操作数1 = 操作数2,关系运算符,不等运算符 不相等运算符使用符号“!=”,属于双目运算符,返回一个布尔值表示两个操作数是否相等。两个操作数类型任意,同时可以是变量也可以是常量。使用语法如下: 操作数1 != 操作数2 不等同运算符 不等同运算符,使用符号“!=”,属于双目运算符。效果与等同运算符正好相反,如果两个数严格不相等则返回true,使用语法如下。 操

10、作数1 != 操作数2,关系运算符,小/大于运算符 小于运算符是判断第一个操作数是否小于第二个操作数的运算符,返回一个布尔值。使用符号“”表示,常用于逻辑表达式中。使用语法如下: 操作数1 操作数2 大于运算符与小于运算符相似,效果相反。 instanceof运算符 instanceof运算符返回一个布尔值,表明某对象是否是某个类的实例。得到一个对象时,有时需要得知其属于哪个类,确定对象的身份。使用语法如下: result = Obj instanceof ClassEditPlus,关系运算符,小/大于或等于运算符 小于或等于符运算符判断第一个操作数和第二个操作数间是否是小于等于关系,使用符

11、号“=”。当第一个操作数小于或等于第二个操作数时表达式返回true,否则返回false。 大于或等于运算符相似,这里就不多讲了。 in运算符 in运算符检查对象中是否有某特定的属性。可以通过in运算符取得数组索引集合,这是个非常有用的运算符。语法如下: Result = property in Object;,字符串运算符,字符串运算符 字符串是一种数据类型,同样也存在相应的计算,因此程序设计语言也为字符串定义了相应的运算符。主要包括+、=和=这几种,这里主要讲解运算符“+”。 运算符“+”,称为连接运算符,它的作用是将两个字符串按顺序连接成为新的字符串。大大简化了字符串表达式的写法 。这个运

12、算符在字符串处理中使用是相当的广泛。在前面见得也比较多了,这里就不详细讲解了。,var str1 = “今天星期几了?”;/ 字符串变量 var str2 = “星期五”;/ 字符串变量 document.write( str1 + str2 );/ 输出连接后的字符串,赋值运算符,赋值运算符 赋值运算符用“=”表示,用于给变量赋值。赋值运算符将值与变量绑定起来,也就是说,值写入了变量所引用的内存单元。 通常,给变量填入数据最直接的办法就是使用赋值运算符将值赋予变量。如下代码所示: var name = “Jet”; 以上代码将“Jet”赋予变量name,“=”运算符左边的操作数称为左值,其右

13、边的操作数称为右值。左值必须是变量,右值可以是变量、常量或表达式。,逻辑运算符,逻辑与、或、非运算符 逻辑与运算符用“&”表示,逻辑或运算符用“|”表示,它们属于双目运算符,操作数被当成布尔类型,可以是变量也可以是常量。 逻辑与运算符使用语法如下所示。 操作数1 & 操作数2 “|”运算符语法如下: 操作数1 | 操作数2 逻辑非运算符“!”,属于单目运算符,对操作数的逻辑值取反,操作数可以是变量或常量。,位运算符,位与、位或、位异或和位非运算符 位与、位或、位异或分别使用符号“&”、“|”、“”,属于双目运算符。 位与运算是指把两个操作数所对应的二进制位相与,对应两个位都为1时结果值中对应位

14、也为1,否则为0。 位或是指对应位间如果都不为0则结果的相应位为1,否则为0。 位异或是当两个操作数对应位不相同时结果的相应位即为1,否则为0 位非运算符“”实现对操作数按位取反运算,属于单目运算符。操作数可以是任意JavaScript类型的常量或变量,逻辑运算符,左移运算符 、带符号右移运算符 和高位补0右移运算符 左移位运算符“” 。 前面已经提及右移运算时符号位的处理问题,是针对有符号数的情况。当数是无符号数时,右移后在左边空出的位上填充0,称为无符号右移位。对应的运算符是“” 。,其它运算符,条件运算符 、new运算符 、void运算符 、类型检测运算符 、对象属性存取运算符 、数组存

15、取运算符 、delete运算符、 this运算符 等等。 条件运算符 ,可以根据条件在两个语句间选择一个来执行。使用符号“?:”,属于三目运算符,语法如下: 条件表达式 ? 语句1:语句2 如果语句1为真,则执行语句1,否则则执行语句2。 new运算符,它是创建对象的一种方式。可以直接使用new运算符创建一个类的实例对象 。 void运算符是用在表达式不需要返回值时,可以使用void运算符来避免表达式返回值 。 通过使用typeof运算符即可获得数据的类型名。typeof返回一个表达式的值的类型名 。,其它运算符,对象属性存取运算符 ,用符号“.”表示。其作用是读取对象的属性、或保存值到对象的

16、属性、或调用对象的方法。 数组存取运算符 ,JavaScript提供“”运算符用于存取数组元素,方括号中是要存取的元素的下标。这个运算符大大方便了数组的编程 。 delete运算符,它可以删除对象的一个属性或数组的一个元素,JavaScript对象的属性可以动态添加。对于动态添加的属性可以用delete运算符将其删除 。 this运算符 ,“this”严格的说是一个关键字,也可以理解为运算符。面向对象的编程中要引用当前对象,this运算符可以返回当前对象的引用。this通常用在对象构造函数中,用来引用函数对象本身。 下面来看一个例子。,运算符的优先级,运算符的优先级 JavaScript中的运算符优先级是一套规则。该规则在计算表达式时控制运算符执行的顺序。具有较高优先级的运算符先于较低优先级的运算符得到执行。同等级的运算符按左到右的顺序进行 ,下面这个表把运算符的优先级从高到低进行了归纳。,运算符的优先级,

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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