




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四讲:表达式与运算符课程内容安排表达式操作数运算符介绍算术运算符关系运算符字符串运算符赋值运算符逻辑运算符位运算符其它运算符运算符的优先级表达式表达式表达式是产生一个结果值的式子,JavaScript的表达式是由常量、变量和运算符等组成。表达式可以作为参数传递给函数,或将表达式结果赋予给变量保存起来。表达式的结果值有多种类型,比如布尔型、字符串型或数值型等,因此常有逻辑表达式、数值表达式和布尔表达式之说。下面举例说明如何定义和使用表达式。操作数操作数操作数是指表达式中的变量或常量,在javascript中也包含表达式的返回值(实际上就是一个常量),常提供计算用的数据。下面是操作数在表达式中的形态。 (A+B+C)/D 其中A、B、C、D就是操作数,而“+”和“/”则是操作符,操作符将在下一节介绍。操作数的数据类型由表达式的类型和运算符所支持的数据类型来决定的,上述代码中若表达式是数值表达式则需要A、B、C和D的类型皆为数值或可以转换为数值。运算符介绍运算符运算符是指程序设计语言中有运算意义的符号,类似于普通数学里运算符。通常,每一门数学都定义了一个数集和在数集上可以进行的运算。程序设计语言也一样,规定了其支持的数据类型以及数据可以进行的运算。JavaScript的运算符包含算术运算符、逻辑运算符和一些特殊的运算符。在JavaScript中有单目和多目之分,单目运算符带一个操作数,多目运算符带多个操作数,如下所示。 (1+2)×3 //数学表达式 ++A //左结合递增操作数的类型表达式中的操作数要么是常量要么是变量,常量和变量都有其特定的数据类型。构成表达式的操作数的数据类型是由变量或常量的类型来确定。下面来看一个例子。算术运算符加法运算符加法运算符使用数学符号“+”,属于双目运算运算符,返回两个操作数的算术和。操作数的类型要求为数值型,如果是字符串型则意义不同,主要运用在数值求和的场合,其语法如下代码所示。
操作数1+操作数2。示例如下所示。01 <scriptlanguage="javascript"> //脚本程序开始02 <!--03 vardepartmentA=1000; //部门A1000人04 vardepartmentB=375; //部分B375人05 vartotal=departmentA+departmentB; //公司总人数06 document.write("公司总人数:"+total); //输出人数信息07 -->08 </script> 算术运算符减法运算符减法运算符使用数学符号“-”,属于双目运算符,返回两个操作数的算术差,操作数类型要求为数值型。含义与数学上的减法计算完全一样,使用的形式如下代码所示。
操作数1–操作数201 <scriptlanguage="javascript"> //脚本程序开始02 <!--03 vartotalGas="20升"; //汽油总量04 varused="7.5升"; //开出100公里后消耗05 varoverplus=parseFloat(totalGas)-parseFloat(used); //剩余06 document.write("车子已经开了100公里,还剩汽油"+overplus+"升"); //100公里时输出提示07 -->08 </script> 算术运算符乘法运算符乘法运算符使用符号“*”,属于双目运算符,返回两个操作数的算术积。运算意义上完全等同于数学上的乘法计算,使用语法如下所示。
操作数*操作数2
01<scriptlanguage="javascript"> 02 varemployee=300; //雇员总数03 varprize=370; //每人奖金数额04 vartotal=employee*prize; //预算总额05 alert("预算:"+total+"元"); //输出总额06 </script>
算术运算符除法运算符除法运算符使用符号“/”,也是属于双目运算符,操作数类型要求为数值型。其返回两个操作数之商,JavaScript返回的商是实数集内的数据,也就是浮点型数据。意义上等同于数学中的除法运算,因此可用在求商的场合,使用语法如下。
操作数1/操作数2
01 <scriptlanguage="javascript"> //脚本程序开始02 <!--03 vartotal=1000; //1000元04 varthieves=3; //3个贼05 alert("每人瓜分所得:"+total/thieves+"元");//输出3人瓜分后所得数额06 -->07 </script> 算术运算符模运算符取模运算符使用符号“%”,其作用是求一个数除以另一个数的余数。操作数的类型要求为数值型或能转换为数值型的类型,属于双目运算符。事实上“模”可以这样理解,如手表上的小时刻度,每到12点以后就是1点,此钟表的模为12。通常取模运算可以取求某个数的倍数。01 <scriptlanguage="javascript"> 02 for(i=1;i<1000;i++) //找出0到1000中3的公倍数03 {04 if(i%3==0) //当模3为0时即是3位数05 {06 document.write(i+""); //输出07 }08 }09 </script>
算术运算符负号运算符负号运行符使用符号“-”,取负也就是等于取反。等同于数学意义的上负号,属于单目运算符,语法如下。
-操作数这里就负号运算符来看一个例子。01 <scriptlanguage="javascript"> 02 <!--03 vara=-1; //负数04 varb=-a; //取反05 alert(a+"取反后得:"+b); //输出06 -->07 </script> 算术运算符正号运算符正号运算符使用符号“+”,针对数值类型操作数,意义上等同于数学上的正号。属于单目运算符,语法如下。
+操作数递增运算符代码的装入递增运算符使用符号“++”,也称为自增运算符,属于单目运算符。可使数值类型的变量值自增一,操作数只能是变量。使用形式分左结合与右结合两种,左结合在表达式中的效果是先递增再使用,右结果则是先使用再递增。语法如下: 变量名++; //右结束递增 ++变量名; //左结合递增代码的执行算术运算符递减运算符递减运算符使用符号“--”,也称为自减运算符,可使变量的值自减一。效果与递增运算符完全相反,也有左结合与右结合之分,情况与递增运算符相同,此不赘述,下面来看一个例子。01 <scriptlanguage="javascript"> 02 <!--03 vara=5; //定义一个数字变量04 document.write(a); //输出a原来的值05 document.write("<br>"); //输出换行标签06 a--; //a自减一(右结合)07 document.write(a); //输出变量a08 document.write("<br>"); //输出换行09 --a; //a自减一(左结合)10 document.write(a); //输出变量a11 document.write("<br>"); //输出换行12 if(--a==2)
//测试左、右结合位于表达式中的情况13 {14 document.write("<li>左结合的情形"); //输出提示信息15 }16 if(a--==2) //等于2时17 {18 document.write("<li>右结合的情形"); //输出提示信息19 }20 -->21 </script>
关系运算符相等运算符相等运算符使用符号“==”,判断两个操作数是否相等。如果相等返回布尔值true,否则返回false。属于双目运算符,两个操作数的数据类型可以任意。运行时,“==”操作符将两端的操作数转换为同一种数据类型后再作比较。使用语法如下:
操作数A==操作数B等同运算符前述及的相等运算符“==”进行的是非严格意义上的相等性判断,即通过类型转为后相等的也返回true。而等同运算符“===”是严格意义上的相等,两个值和它们的类型完全一致时才返回true,使用语法如下:
操作数1===操作数2关系运算符
不等运算符不相等运算符使用符号“!=”,属于双目运算符,返回一个布尔值表示两个操作数是否相等。两个操作数类型任意,同时可以是变量也可以是常量。使用语法如下:
操作数1!=操作数2不等同运算符不等同运算符,使用符号“!==”,属于双目运算符。效果与等同运算符正好相反,如果两个数严格不相等则返回true,使用语法如下。
操作数1!==操作数2关系运算符
小/大于运算符小于运算符是判断第一个操作数是否小于第二个操作数的运算符,返回一个布尔值。使用符号“<”表示,常用于逻辑表达式中。使用语法如下: 操作数1<操作数2大于运算符与小于运算符相似,效果相反。instanceof运算符instanceof运算符返回一个布尔值,表明某对象是否是某个类的实例。得到一个对象时,有时需要得知其属于哪个类,确定对象的身份。使用语法如下:
result=ObjinstanceofClassEditPlus
关系运算符
小/大于或等于运算符小于或等于符运算符判断第一个操作数和第二个操作数间是否是小于等于关系,使用符号“<=”。当第一个操作数小于或等于第二个操作数时表达式返回true,否则返回false。 大于或等于运算符相似,这里就不多讲了。in运算符in运算符检查对象中是否有某特定的属性。可以通过in运算符取得数组索引集合,这是个非常有用的运算符。语法如下:
Result=propertyinObject;字符串运算符字符串运算符字符串是一种数据类型,同样也存在相应的计算,因此程序设计语言也为字符串定义了相应的运算符。主要包括+、>、<、>=和<=这几种,这里主要讲解运算符“+”。运算符“+”,称为连接运算符,它的作用是将两个字符串按顺序连接成为新的字符串。大大简化了字符串表达式的写法。这个运算符在字符串处理中使用是相当的广泛。在前面见得也比较多了,这里就不详细讲解了。varstr1=“今天星期几了?”; //字符串变量varstr2=“星期五”; //字符串变量document.write(str1+str2); //输出连接后的字符串赋值运算符赋值运算符用“=”表示,用于给变量赋值。赋值运算符将值与变量绑定起来,也就是说,值写入了变量所引用的内存单元。通常,给变量填入数据最直接的办法就是使用赋值运算符将值赋予变量。如下代码所示:
varname=“Jet”; 以上代码将“Jet”赋予变量name,“=”运算符左边的操作数称为左值,其右边的操作数称为右值。左值必须是变量,右值可以是变量、常量或表达式。
赋值运算符逻辑与、或、非运算符逻辑与运算符用“&&”表示,逻辑或运算符用“||”表示,它们属于双目运算符,操作数被当成布尔类型,可以是变量也可以是常量。逻辑与运算符使用语法如下所示。 操作数1&&操作数2 “||”运算符语法如下:操作数1||操作数2逻辑非运算符“!”,属于单目运算符,对操作数的逻辑值取反,操作数可以是变量或常量。逻辑运算符位与、位或、位异或和位非运算符
位与、位或、位异或分别使用符号“&”、“|”、“^”,属于双目运算符。位与运算是指把两个操作数所对应的二进制位相与,对应两个位都为1时结果值中对应位也为1,否则为0。位或是指对应位间如果都不为0则结果的相应位为1,否则为0。位异或是当两个操作数对应位不相同时结果的相应位即为1,否则为0
位非运算符“~”实现对操作数按位取反运算,属于单目运算符。操作数可以是任意JavaScript类型的常量或变量位运算符左移运算符 、带符号右移运算符和高位补0右移运算符左移位运算符“<<”,实现整体向左移动低位补0的功能,属于双目运算符。 当移动的是有符号数,左边空出的位用数的符号位填充。向右移动超出的位将被丢弃,称为带符号右移位操作。其运算符为“>>”。前面已经提及右移运算时符号位的处理问题,是针对有符号数的情况。当数是无符号数时,右移后在左边空出的位上填充0,称为无符号右移位。对应的运算符是“>>>”。逻辑运算符条件运算符、new运算符、void运算符、类型检测运算符、对象属性存取运算符、数组存取运算符、delete运算符、this运算符等等。条件运算符,可以根据条件在两个语句间选择一个来执行。使用符号“?:”,属于三目运算符,语法如下:
条件表达式?语句1:语句2
如果语句1为真,则执行语句1,否则则执行语句2。new运算符,它是创建对象的一种方式。可以直接使用new运算符创建一个类的实例对象。void运算符是用在表达式不需要返回值时,可以使用void运算符来避免表达式返回值。通过使用typeof运算符即可获得数据的类型名。typeof返回一个表达式的值的类型名。其它运算符对象属性存取运算符,用符号“.”表示。其
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 稀土金属压延加工中的质量改进方法选择与实施考核试卷
- 游乐设施施工中的安全文化建设考核试卷
- 木片在纸浆生产中的优化研究考核试卷
- 搪瓷制品的环保生产与废弃物处理考核试卷
- 生态保护宣传教育策略考核试卷
- 青浦区高三语文二模2021作文
- 电饭煲煮饭不熟应对考核试卷
- 浙江省J12共同体联盟校初三语文中考模拟考试试卷(含答案)
- 家用电器具的材料腐蚀与防护考核试卷
- 管道工程行业热点问题研究动向与趋势预测考核试卷
- 面粉代理合同协议
- 2024年5月26日河南省事业单位联考《职业能力测试》真题及答案
- 基金从业人员资格历年真题答案2024
- 2025年江苏扬州水利建筑工程有限责任公司招聘笔试参考题库含答案解析
- 上海市松江区2022-2023学年四年级下学期期中数学试卷(带答案)
- 2025年中考英语考点单选题100道及答案
- 2025年贵州国企:贵州茅台酒股份有限公司招聘笔试参考题库含答案解析
- 桩基行业企业宣传
- 2025届名校学术联盟高三下学期模拟冲刺政治试题及答案
- 心肺复苏操作2025版
- 第二单元阅读综合实践 教学设计-2024-2025学年统编版语文七年级下册
评论
0/150
提交评论