版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第16章
ECMAScript基础第16章
ECMAScript基础回顾下面说法错误的是(
)。创建站点要确定站点文件的存放位置和目录结构,要合理安排文件的目录建立网站首先要了解客户的业务背景、目标和需求网站所有页面保证在InternetExplorer浏览器里能较好地呈现就可以了首页设计先要确定功能模块,然后进行页面布局C回顾下面说法错误的是()。C回顾关于Dreamweaver模板说法错误的是(
)。模板是一种特殊类型的文档,用于设计“固定内容”可以基于现有文档创建模板,也可以直接创建新模板要使模板生效,至少应该包含一个可编辑区域当模板文件删除后,基于此模板的文档会与模板分离D回顾关于Dreamweaver模板说法错误的是()。D预习检查ECMAScripto数据类型有哪些
?ECMAScript有5种基本数据类型:Undefined、Null、Boolean、Number和String。ECMAScript运算符有哪些?一元运算符、算术运算符、关系运算符、逻辑运算符。预习检查ECMAScripto数据类型有哪些?内容提要JavaScript是Web浏览器上最流行的脚本语言,能够增强用户与Web站点和Web应用程序之间的交互,使用JavaScript能够通过浏览器对网页中的所有元素进行控制。内容提要JavaScript是Web浏览器上最流行的脚本语言本章要点JavaScript简介。ECMAScript基础。ECMAScript运算符。本章要点JavaScript简介。16.1JavaScript简介——JavaScript历史JavaScript历史1992年,Nombas公司开发了Cmm(C-minus-minus,简称C减减)嵌入式脚本语言。1995年,Netscape公司的BrendanEich为将要发布的NetscapeNavigator2.0开发了一个称之为LiveScript的脚本语言,由于JavaScript1.0大获成功,Netscape公司在NetscapeNavigator3.0中发布了1.1版。1997年,JavaScript1.1作为一个草案提交给欧洲计算机制造商协会(ECMA)第39技术委员会(TC39),TC39在此基础上颁布了ECMA-262,该标准定义了名为ECMAScript的全新脚本语言。16.1JavaScript简介——JavaScript历16.1JavaScript简介——JavaScript历史JavaScript主要功能JavaScript提供了一种编程工具。XHTML创作者往往都不是程序员,JavaScript是一种拥有极其简单语法的脚本语言,几乎每个人都有能力将短小的代码嵌入到页面中。JavaScript可以响应事件。可以将JavaScript设置为当某事件发生时才会被执行。JavaScript可以读取及改变XHTML元素的内容JavaScript可以被用来验证数据。在表单数据被提交到服务器之前,JavaScript可以被用来验证这些数据。16.1JavaScript简介——JavaScript历16.1JavaScript简介——JavaScript组成如果从Web标准行为角度看,一个完整的JavaScript由以下3个部分组成。核心(ECMAScript);文档对象模型(DOM);浏览器对象模型(BOM);16.1JavaScript简介——JavaScript组16.1JavaScript简介——JavaScript组成ECMAScriptECMAScript与任何浏览器无关,在ECMA-262标准中描述如下:“ECMAScript可以为不同种类的宿主环境提供核心的脚本编程能力,因此核心的脚本语言是与任何特定的宿主环境分开进行规定的。”。Web浏览器对于ECMAScript来说只是一个宿主环境,并不是唯一的宿主环境,还有其他各种宿主环境,如MacromediaFlash中的ActionScript。16.1JavaScript简介——JavaScript组16.1JavaScript简介——JavaScript组成DOMDOM(文档对象模型)是XHTML和XML的应用程序接口(API)。DOM把整个页面看成由节点层级构成的文档,称为文档树,XHTML或XML页面的每个部分都是一个节点的衍生物。DOM通过创建树来表示文档,从而使开发者对文档的内容和结构进行控制,用DOM可以轻松地删除、添加和替换节点。DOM共有三个级别,大多数常用浏览器都支持到DOM2。16.1JavaScript简介——JavaScript组16.1JavaScript简介——JavaScript组成BOMIE3.0和NetscapeNavigator3.0开始提供了BOM(浏览器对象模型),可以对浏览器窗口进行访问和操作,使用BOM可以移动窗口、改变状态栏中的文本以及执行其他与页面内容不直接相关的动作。由于没有相关的BOM标准,每种浏览器都有自己的BOM实现。16.1JavaScript简介——JavaScript组16.1JavaScript简介——JavaScript使用1.<script>标签<script>标签用于定义客户端脚本。在XHTML中,使用的JavaScript代码必须放在<script>中。script元素既可以包含脚本语句,也可以通过src属性指向外部脚本文件。script标签属性。属性值描述typeMIME-type脚本MIME类型charsetcharset外部脚本文件使用的字符编码srcURL外部脚本文件的URL16.1JavaScript简介——JavaScript使16.1JavaScript简介——JavaScript使用把JavaScript代码插入到XHTML页面,需要使用<script>标签,用type属性来定义脚本语言。实例js(script).html使用了JavaScript脚本语句document.write向页面输出文本“HelloWorld!”。<head><title>script</title><scripttype="text/javascript">document.write("HelloWorld!");</script></head><body></body>16.1JavaScript简介——JavaScript使16.1JavaScript简介——JavaScript使用2.JavaScript脚本程序位置页面中的JavaScript脚本程序会在页面载入浏览器后立即执行,如果希望当浏览者触发某个事件时才执行脚本程序,应该使用函数。JavaScript脚本代码可以放在页面内,也可以将脚本代码放在独立的外部文件中。16.1JavaScript简介——JavaScript使16.1JavaScript简介——JavaScript使用使用内部JavaScript在网页文件的<script></script>标签中直接编写JavaScript脚本代码,这是用得最多的情况,<script></script>标签位置不是固定的,可以出现在<head></head>或<body></body>的任何位置。在一个XHTML文档中可以有多段JavaScript代码,每段代码可以相互访问。位于head脚本确保在需要使用脚本之前,它已经被载入了。位于body脚本16.1JavaScript简介——JavaScript使16.1JavaScript简介——JavaScript使用使用外部JavaScript如果在若干个页面中运行同样的JavaScript脚本程序,可以将JavaScript脚本代码写入一个外部文件之中,用.js扩展名保存文件。页面通过<script>标签中的“src”属性来使用外部JavaScript文件。实例js(script-src).html使用了外部JavaScript。<scripttype="text/javascript"src="other/1.js"></script>外部JavaScript文件other/1.js的源码如下://JavaScriptDocumentdocument.write("HelloWorld!");外部脚本文件不能包含<script>标签。16.1JavaScript简介——JavaScript使16.1JavaScript简介——JavaScript消息框可以用JavaScript脚本在浏览器窗口创建三种消息框:警告框、确认框和提示框。1.警告框警告框经常用于提供某些信息给用户。当警告框出现后,用户需要单击【确定】按钮才能继续进行操作。语法如下:window.alert("文本")或alert("文本")16.1JavaScript简介——JavaScript消16.1JavaScript简介——JavaScript消息框2.确认框确认框经常用于让用户验证或者接受某些信息。当确认框出现后,用户需要单击【确定】或者【取消】按钮才能继续进行操作,如果用户单击【确定】按钮,那么返回值为true,如果用户单击【取消】按钮,那么返回值为false。语法如下:window.confirm("文本")或confirm("文本")16.1JavaScript简介——JavaScript消16.1JavaScript简介——JavaScript消息框3.提示框提示框经常用于提示用户在进入页面前输入某个值。当提示框出现后,用户需要输入某个值,然后单击【确定】或【取消】按钮才能继续操作。如果用户单击【确定】按钮,那么返回值为输入的值。如果用户单击【取消】按钮,那么返回值为null。语法如下:mpt("文本","默认值")或prompt("文本","默认值")16.1JavaScript简介——JavaScript消16.1JavaScript简介——JavaScript消息框实例js(alert、confirm、prompt).html使用了三种消息框:警告框、确认框、提示框。在IE浏览器里显示示意图。16.1JavaScript简介——JavaScript消16.2ECMAScript基础——语法基础1.区分大小写ECMAScript的变量、函数名、运算符等区分大小写。2.弱类型变量ECMAScript中的变量无特定的类型,定义变量时只用var运算符,可以初始化为任意值,随时改变变量所存数据的类型。如:varsColor="red";variNum=25;3.每行结尾的分号可有可无ECMAScript用分号表示结束一行代码,如果没有分号,ECMAScript就把换行代码的结尾看做该语句的结尾,最好的代码编写习惯是加入分号。16.2ECMAScript基础——语法基础1.区分大小16.2ECMAScript基础——语法基础4.注释有两种类型的注释:单行注释以双斜杠开头(//)。多行注释以单斜杠和星号开头(/*),以星号和单斜杠结尾(*/)。5.代码块代码块表示一系列按顺序执行的语句,这些语句被封装在“{”和“}”之间。如:if(sTest=="red"){sTest="blue";alert(sTest);}16.2ECMAScript基础——语法基础4.注释16.2ECMAScript基础——变量1.声明变量ECMAScript中的变量用var运算符加变量名定义,语法如下:var变量名[=初值][,…];其中关键字var可省略,结尾处的分号可用白空符代替。如:varsTest="测试";可以用一个var语句定义两个或多个变量,变量类型不必相同,如:varsTest="测试",iAge=25;16.2ECMAScript基础——变量1.声明变量16.2ECMAScript基础——变量声明变量并不一定要初始化。如:varsTest;变量可以存放不同类型的值。如可以把变量初始化为字符串类型的值,然后设置为数字类型。varsTest="测试";sTest=55;使用变量时,好的编码习惯是始终存放相同类型的值。变量声明不是必须的。16.2ECMAScript基础——变量声明变量并不一定要16.2ECMAScript基础——变量2.变量命名变量名需要遵守两条简单的规则:第一个字符必须是字母、下划线(_)或美元符号($)。余下的字符可以是下划线、美元符号或任何字母或数字字符。下面的变量名都是合法的:vartest;var$test;16.2ECMAScript基础——变量2.变量命名16.2ECMAScript基础——变量在定义变量进行命名时常使用以下方法:Camel标记法首字母小写,接下来的字母都以大写字符开头。varmyTestValue=0,mySecondValue="测试";Pascal标记法首字母大写,接下来的字母都以大写字符开头。varMyTestValue=0,MySecondValue="测试";匈牙利类型标记法在以Pascal标记法命名的变量前附加一个小写字母,说明该变量的类型。16.2ECMAScript基础——变量在定义变量进行命名16.2ECMAScript基础——变量匈牙利类型标记法变量名前缀示意表。类型前缀示例数组aaValues布尔型bbFound浮点型(数字)ffValue函数fnfnMethod整型(数字)iiValue对象ooType正则表达式rerePattern字符串ssValue变型(可以是任何类型)vvValue16.2ECMAScript基础——变量匈牙利类型标记法变16.2ECMAScript基础——关键字和保留字1.ECMAScript关键字ECMA-262定义了ECMAScript关键字(keyword),这些关键字标识了ECMAScript语句的开头或结尾。关键字是保留的,不能用作变量名或函数名。下面是ECMAScript关键字列表:break、case、catch、continue、default、delete、do、else、finally、for、function、if、in、instanceof、new、return、switch、this、throw、try、typeof、var、void、while和with。如果把关键字用作变量名或函数名,可能得到诸如"IdentifierExpected"(应该有标识符或期望标识符)这样的错误消息。16.2ECMAScript基础——关键字和保留字1.E16.2ECMAScript基础——关键字和保留字2.ECMAScript保留字ECMA-262定义了ECMAScript保留字(reservedword),保留字一般指为将来的关键字而保留的单词,保留字不能被用作变量名或函数名。ECMA-262第三版中保留字的完整列表如下:abstract、boolean、byte、char、class、const、debugger、double、enum、export、extends、final、float、goto、implements、import、int、interface、long、native、package、private、protected、public、short、static、super、synchronized、throws、transient和volatile。如果把保留字用作变量名或函数名,那么除非将来的浏览器实现了该保留字,否则很可能收不到任何错误消息。16.2ECMAScript基础——关键字和保留字2.E16.2ECMAScript基础——基本数据类型ECMAScript有5种基本数据类型:Undefined、Null、Boolean、Number和String。1.Undefined类型Undefined类型只有一个值:undefined。当声明的变量未初始化时,变量的默认值是undefined。如:varoTemp;声明的变量oTemp没有初始值,将被赋予值undefined。可以用“alert(oTemp);”或“document.write(oTemp);”语句输出变量oTemp的值,检验是不是undefined。16.2ECMAScript基础——基本数据类型ECMAS16.2ECMAScript基础——基本数据类型2.Null类型Null类型只有一个值null。值undefined实际上是从null派生来的,因此ECMAScript把它们定义为相等的。如:alert(null==undefined); //输出true尽管这两个值相等,但含义不同。undefined是声明了变量但未对其初始化时赋予变量的值,null则用于表示尚未声明的变量。16.2ECMAScript基础——基本数据类型2.Nu16.2ECMAScript基础——基本数据类型3.Boolean类型Boolean类型有两个值true和false。4.Number类型Number类型既可以表示32位整数,也可以表示64位的浮点数,直接输入的任何数字都被看做Number类型。如下面代码声明了存放整数值的变量:variNum=86;16.2ECMAScript基础——基本数据类型3.Bo16.2ECMAScript基础——基本数据类型八进制数和十六进制数整数也可以表示为八进制或十六进制,八进制的首数字必须是0,其后的数字可以是任何八进制数字(0-7),如:variNum=070;//070等于十进制56十六进制的前二位数字必须为0x,然后是任意的十六进制数字(0到9和A到F),字母不区分大小写。如:variNum=0x1f;//0x1f等于十进制的31所有数学运算返回的结果都是十进制。16.2ECMAScript基础——基本数据类型八进制数和16.2ECMAScript基础——基本数据类型浮点数浮点值必须包括小数点和小数点后的一位数字。如:varfNum=5.0;科学计数法对于非常大或非常小的数,可以用科学计数法表示浮点数,即把一个数表示为数字(包括十进制数字)加e(或E),后面加乘以10的倍数。如:varfNum=5.618e7把科学计数法转化成计算式就可以得到该值:5.618x107=56180000。非常小的数常常用科学计数法表示,如0.00000000000000008可以表示为8-e17。ECMAScript默认把6个或6个以上前导0的浮点数转换成科学计数法。16.2ECMAScript基础——基本数据类型浮点数16.2ECMAScript基础——基本数据类型特殊Number值NaN是一个特殊值,表示非数(NotaNumber)。一般这种情况发生在数据类型转换失败时。如把单词blue转换成数值就会失败,因为没有与之等价的数值。NaN不能用于算术计算。函数isNaN()能够判断一个数是不是非数。document.write(isNaN("测试"));//输出truedocument.write(isNaN("666"));//输出false16.2ECMAScript基础——基本数据类型特殊Num16.2ECMAScript基础——基本数据类型5.String类型String类型是没有固定大小的数据类型,可以用字符串存储零或更多的字符。字符串中每个字符都有特定的位置,首字符从位置0开始,第二个字符在位置1,依此类推。字符串最后一个字符的位置一定是字符串的长度减1。字符串必须由双引号(")或单引号(')括起来声明。如:varsColor1="red";varsColor2='red';16.2ECMAScript基础——基本数据类型5.St16.2ECMAScript基础——基本数据类型使用反斜杠可以向字符串添加如换行符、引号和其他特殊字符。常用的特殊字符。字面量含义字面量含义\n换行\f换页符\t制表符\\反斜杠\b空格\'单引号\r回车\"双引号16.2ECMAScript基础——基本数据类型使用反斜杠16.2ECMAScript基础——基本数据类型可以使用typeof运算符来判断一个值的基本数据类型,typeof运算符有一个参数,即要检查的变量或值。如:varsTemp="测试";document.write(typeofsTemp);//输出"string"typeof运算符将返回下列值之一:undefined:如果变量是Undefined类型的。boolean:如果变量是Boolean类型的。number:如果变量是Number类型的。string:如果变量是String类型的。object:如果变量是引用类型或Null类型的。16.2ECMAScript基础——基本数据类型可以使用t16.2ECMAScript基础——类型转换1.转换成字符串基础数据类型Boolean和Number都有toString()方法,可以把它们的值转换成字符串。Boolean类型的toString()方法只能输出“true”或“false”,结果由变量的值决定。如:varbFound=false;document.write(bFound.toString());//输出false16.2ECMAScript基础——类型转换1.转换成字16.2ECMAScript基础——类型转换Number类型的toString()方法有两种模式:默认模式和基模式。在默认模式中,无论最初采用什么表示法声明数字,toString()返回的都是数字的十进制表示。如:variNum=10;varfNum=10.0;document.write(iNum.toString()); //输出10document.write(fNum.toString()); //输出1016.2ECMAScript基础——类型转换Number类16.2ECMAScript基础——类型转换基模式可以用不同的基输出数字,二进制的基是2,八进制的基是8,十六进制的基是16,基是toString()方法的参数。如:variNum=10;document.write(iNum.toString(2)); //输出1010document.write(iNum.toString(8)); //输出12document.write(iNum.toString(16));//输出A16.2ECMAScript基础——类型转换基模式可以用不16.2ECMAScript基础——类型转换2.转换成数字ECMAScript提供了两种把非数字的原始值转换成数字的方法parseInt()和parseFloat()。前者把值转换成整数,后者把值转换成浮点数。只有对String类型调用这些方法才能正确运行,其他类型调用返回的值是NaN。16.2ECMAScript基础——类型转换2.转换成数16.2ECMAScript基础——类型转换parseInt()parseInt()方法首先查看位置0处的字符,判断它是否是个有效数字,如果不是,返回NaN,不再继续执行其他操作。但如果该字符是有效数字,该方法将查看位置1处的字符,进行同样的测试。这一过程持续到发现非有效数字的字符为止,parseInt()将把该字符之前的字符串转换成数字。如:variNum=parseInt("12345red"); //返回12345variNum=parseInt("0xA"); //返回10variNum=parseInt("56.9"); //返回56variNum=parseInt("red"); //返回NaN16.2ECMAScript基础——类型转换parseIn16.2ECMAScript基础——类型转换parseFloat()parseFloat()方法与parseInt()方法的处理方式相似,从位置0开始查看每个字符,直到找到第一个非有效的字符为止,然后把该字符之前的字符串转换成整数。parseFloat()方法规定第一个出现的小数点是有效字符,如果有多个小数点,从第二个小数点起将被看作是无效的,parseFloat()会把第二个小数点之前的字符转换成数字。如:varfNum=parseFloat("12345red");//返回12345varfNum=parseFloat("11.2"); //返回11.2varfNum=parseFloat("11.22.33"); //返回11.22varfNum=parseFloat("red"); //返回NaN16.2ECMAScript基础——类型转换parseFl16.2ECMAScript基础——类型转换3.强制类型转换可以使用强制类型转换(typecasting)来处理转换值的类型,ECMAScript中可以使用3种强制类型转换:Boolean(value):把给定的值转换成Boolean型;Number(value):把给定的值转换成数字(可以是整数或浮点数);String(value):把给定的值转换成字符串;16.2ECMAScript基础——类型转换3.强制类型16.2ECMAScript基础——类型转换Boolean()函数当要转换的值至少有一个字符的字符串、非0数字或对象时,Boolean()函数将返回true。如果该值是空字符串、数字0、undefined或null,将返回false。如:varbBoolean=Boolean("hello");//返回true-非空字符串varbBoolean=Boolean(50);//返回true-非零数字varbBoolean=Boolean(null);//返回false-nullvarbBoolean=Boolean(0);//返回false-零varbBoolean=Boolean("");//返回false-空字符串16.2ECMAScript基础——类型转换Boolean16.2ECMAScript基础——类型转换Number()函数Number()函数与parseInt()和parseFloat()方法相似,但它转换的是整个值,而不是部分值。parseInt()和parseFloat()方法只转换第一个无效字符之前的字符串,因此“1.2.3”将分别被转换为“1”和“1.2”。用Number()进行强制类型转换“1.2.3”将返回NaN,因为整个字符串值不能转换成数字。16.2ECMAScript基础——类型转换Number(16.2ECMAScript基础——类型转换不同值调用Number()方法结果表。用法结果Number(false)0Number(true)1Number(undefined)NaNNumber(null)0Number("1.2")1.2Number("12")12Number(50)5016.2ECMAScript基础——类型转换不同值调用Nu16.2ECMAScript基础——类型转换String()函数String()强制类型转换可把任何值转换成字符串。String()与toString()方法唯一不同的是对null和undefined值强制类型转换可以生成字符串而不引发错误。如:varsTest=String(null); //返回"null"varoNull=null;varsTest=oNull.toString(); //会引发"oNullisnull"错误16.2ECMAScript基础——类型转换String(16.3ECMAScript运算符——一元运算符一元运算符只有一个参数,即要操作的对象或值。1.voidvoid运算符对任何值都返回undefined。16.3ECMAScript运算符——一元运算符一元运算符16.3ECMAScript运算符——一元运算符2.前增量/前减量运算符所谓前增量运算符,就是在数值类型变量原值基础上加1,形式是在变量前放两个加号(++)。variNum=10;++iNum;第二行代码把iNum值增加到了11,实质上等价于variNum=10;iNum=iNum+1;前减量运算符是在数值类型变量原值基础上减1,形式是在变量前放两个减号(--)。如:variNum=10;--iNum;16.3ECMAScript运算符——一元运算符2.前增16.3ECMAScript运算符——一元运算符在算术表达式中,前增量和前减量运算符的优先级是相同的,因此要按照从左到右的顺序计算,无论是前增量还是前减量运算符都发生在计算表达式之前。例如:variNum1=2;variNum2=20;variNum3=--iNum1+++iNum2; //等于22variNum4=iNum1+iNum2; //等于22iNum3等于22,因为表达式要计算的是1+21。变量iNum4也等于22,也是1+21。16.3ECMAScript运算符——一元运算符在算术表达16.3ECMAScript运算符——一元运算符3.后增量/后减量运算符后增量运算符也是给数值类型变量在原值基础上加1,形式是在变量后放两个加号(++)。如:variNum=10;iNum++;后减量运算符也是从数值类型变量在原值基础上减1,形式为在变量后加两个减号(--)。如:variNum=10;iNum--;16.3ECMAScript运算符——一元运算符3.后增16.3ECMAScript运算符——一元运算符与前增量和前减量运算符不同的是,后增量和后减量运算符是在计算过包含它们的表达式后才进行增量或减量运算的。考虑以下的例子:variNum=10;iNum--;document.write(iNum); //输出9document.write(iNum--); //输出9document.write(iNum); //输出8第四行代码输出iNum--的值,由于减量运算发生在计算过表达式之后,所以输出的数是"9"。第五行代码输出是"8",因为在执行第四行代码之后和执行第五行代码之前,执行了后减量运算。16.3ECMAScript运算符——一元运算符与前增量和16.3ECMAScript运算符——一元运算符在算术表达式中,后增量和后减量运算符的优先级是相同的,要按照从左到右的顺序计算。如:variNum1=2;variNum2=20;variNum3=iNum1--+iNum2++; //等于22variNum4=iNum1+iNum2; //等于22iNum3等于22,因为表达式要计算的是2+20。变量iNum4也等于22,不过计算的是1+21,因为增量和减量运算都在给iNum3赋值后才发生。16.3ECMAScript运算符——一元运算符在算术表达16.3ECMAScript运算符——一元运算符4.一元加法和一元减法一元加法本质上对数字无任何影响。一元减法就是对数值求负。如:variNum=20;iNum=-iNum;document.write(iNum); //输出-2016.3ECMAScript运算符——一元运算符4.一元16.3ECMAScript运算符——算术运算符算术运算符用于执行变量之间的算术运算。运算符描述+加-减*乘/除%求余数(保留整数)16.3ECMAScript运算符——算术运算符算术运算符16.3ECMAScript运算符——算术运算符1.加法运算符加法运算符用加号(+)表示。如果某个运算数是字符串,那么采用下列规则:如果两个运算数都是字符串,把第二个字符串连接到第一个上。
如果只有一个运算数是字符串,则把另一个运算数转换成字符串,结果是两个字符串连接成的字符串。如:variResult=5+5; //两个数字document.write(iResult); //输出10varsResult=5+"5"; //一个数字和一个字符串document.write(sResult); //输出"55"16.3ECMAScript运算符——算术运算符1.加法16.3ECMAScript运算符——算术运算符2.减法运算符减法运算符用减号(-)表示。如果运算符不是数字,那么结果为NaN,如果运算数都是数字,那么执行常规的减法运算,并返回结果。3.乘法运算符乘法运算符用星号(*)表示,用于两数相乘。如果运算数是数字,那么执行常规的乘法运算,即两个正数或两个负数为正数,两个运算数符号不同,结果为负数。如果某个运算数是NaN,结果为NaN。16.3ECMAScript运算符——算术运算符2.减法16.3ECMAScript运算符——算术运算符4.除法运算符除法运算符用斜杠(/)表示,用第二个运算数除第一个运算数。如果运算数是数字,那么执行常规的除法运算,即两个正数或两个负数为正数,两个运算数符号不同,结果为负数。如果某个运算数是NaN,结果为NaN。0除一个任何非无穷大的数字,结果为NaN。16.3ECMAScript运算符——算术运算符4.除法16.3ECMAScript运算符——算术运算符5.取模运算符取模(余数)运算符用百分号(%)表示。如:variResult=26%5; //等于1如果运算数是数字,那么执行常规的算术除法运算,返回除法运算得到的余数。如果被除数为0,结果为0。16.3ECMAScript运算符——算术运算符5.取模16.3ECMAScript运算符——关系运算符关系运算符执行的是比较运算。每个关系运算符都返回一个Boolean值。运算符描述==等于===全等(值和类型)!=不等于>
大于<
小于>=大于或等于<=小于或等于16.3ECMAScript运算符——关系运算符关系运算符16.3ECMAScript运算符——关系运算符1.常规比较方式关系运算符小于、大于、小于等于和大于等于执行的是两个数的比较运算,比较方式与算术比较运算相同。每个关系运算符都返回一个Boolean值。如:varbResult1=2>1 //返回truevarbResult2=2<1 //返回false16.3ECMAScript运算符——关系运算符1.常规16.3ECMAScript运算符——关系运算符对于字符串,第一个字符串中每个字符的代码都与会第二个字符串中对应位置的字符的代码进行数值比较。完成这种比较操作后,返回一个Boolean值。大写字母的代码小于小写字母的代码,如:varbResult="Blue"<"alpha";document.write(bResult); //输出true16.3ECMAScript运算符——关系运算符对于字符串16.3ECMAScript运算符——关系运算符要强制性得到按照真正的字母顺序比较的结果,必须把两个字符转换成相同的大小写形式,然后再进行比较。如:varbResult="Blue".toLowerCase()<"alpha".toLowerCase();document.write(bResult); //输出false16.3ECMAScript运算符——关系运算符要强制性得16.3ECMAScript运算符——关系运算符2.比较数字和字符串无论何时比较一个数字和一个字符串,ECMAScript都会把字符串转换成数字,然后按照数字顺序比较它们。如:varbResult="25"<3;document.write(bResult); //输出false字符串“25”将被转换成数字25,然后与数字3进行比较。任何包含NaN的关系运算符都要返回false。varbResult="a">=3;document.write(bResult); //输出false16.3ECMAScript运算符——关系运算符2.比较16.3ECMAScript运算符——关系运算符3.等于和不等于等于用双等号(==)表示,当且仅当两个运算数相等时,返回true。不等于用感叹号加等号(!=)表示,当且仅当两个运算数不相等时,返回true。为确定两个运算数是否相等,这两个运算符都会进行类型转换。执行类型转换的规则如下:16.3ECMAScript运算符——关系运算符3.等于16.3ECMAScript运算符——关系运算符如果一个运算数是Boolean值,在检查相等性之前转换成数字。其中值false为0,true为1。如果一个运算数是字符串,另一个是数字,在检查相等性之前尝试把字符串转换成数字。如果一个运算数是对象,另一个是字符串,在检查相等性之前尝试把对象转换成字符串。如果一个运算数是对象,另一个是数字,在检查相等性之前尝试把对象转换成数字。16.3ECMAScript运算符——关系运算符如果一个运16.3ECMAScript运算符——关系运算符在比较时,遵守下列规则:值null和undefined相等。在检查相等性时,不能把null和undefined转换成其他值。如果某个运算数是NaN,等于返回false,不等于返回true。如果两个数都是NaN,等于返回false,因为根据规则,NaN不等于NaN。16.3ECMAScript运算符——关系运算符在比较时,16.3ECMAScript运算符——关系运算符4.全等和非全等全等用三个等号表示(===),非全等用感叹号加两个等号(!==)表示,在检查相等性前,不执行类型转换,只有在无需类型转换运算数就相等的情况下,才返回true。如:varsNum="66";variNum=66;document.write(sNum==iNum); //输出truedocument.write(sNum===iNum); //输出false16.3ECMAScript运算符——关系运算符4.全等16.3ECMAScript运算符——逻辑运算符逻辑运算符。运算符描述&&and||or!not16.3ECMAScript运算符——逻辑运算符逻辑运算符16.3ECMAScript运算符——逻辑运算符1.NOT运算符NOT运算符用感叹号(!)表示,NOT运算返回的是Boolean值。NOT运算的行为如下:如果运算数是对象,返回false。如果运算数是数字0,返回true。如果运算数是0以外的任何数字,返回false。如果运算数是null,返回true。如果运算数是NaN,返回true。如果运算数是undefined,发生错误。16.3ECMAScript运算符——逻辑运算符1.NO16.3ECMAScript运算符——逻辑运算符2.AND
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设计单位质量检查报告(2篇)
- 广东语文试卷高考(含答案)
- 研发部关于2026年技术合作项目启动的通知(3篇)范文
- 古法酿酒工艺传承与发展效果考核表
- 商讨2026年新产品开发实施函7篇范文
- 2026年吉林省省直事业单位吉林省妇幼保健院公开招聘高层次工作人员(1号)考试参考题库及答案解析
- 物流信息化技术支持经理KPI考核表
- 2026年揭阳市烟草专卖局人员招聘考试模拟试题及答案
- 电商平台商家直播选品趋势分析
- 电信客服专员客户满意度与问题解决效率KPI考核表
- 2026年建筑八大员(九大员)住房城乡建设领域现场专业人员考试-测量员历年参考题库含答案解析
- 北京京能电力股份有限公司招聘笔试题库2026
- 学礼仪懂尊重做文明小学生-小学主题班会课件
- 2025年医院普外科岗招聘笔试题目(附答案)
- 第四单元跨学科实践活动3:水质检测及净水器的制作课件2025-2026学年九年级化学人教版上册
- (广东二模)广东省2026年4月高三高考模拟测试(二)数学试卷(含标准答案及解析)
- 山东省潍坊广文中学2025-2026学年九年级上学期期中考试语文试卷(解析版)
- 2025 AI语音合成市场调研报告
- 光伏设备安全培训课件
- 工程联系单管理办法(含附件)
- 四诊闻诊课件
评论
0/150
提交评论