根据处理对象的数目: 单元运算符; 二元运算符; 三元运算符。 根据功能: 赋值运算符; = += -= *= /= %=(取余) 算术运算符; + - * / %(取余) ++(递增) --(递减) - 例1: 以下是引用片段: <Script> var x = 11; var y = 5; with (document) { write("x = 11, y = 5"); write("<LI>x + y 是 ", x + y); write("<LI>x - y 是 ", x - y); write("<LI>x * y 是 ", x * y); write("<LI>x / y 是 ", x / y); write("<LI>x % y 是 ", x % y); write("<LI>++ x 是 ", ++ x); write("<LI>-- y 是 ", -- y); } </Script> |
例2: 以下是引用片段: <Script> var x = y = 3; with (document) { write("x = 3, y = 3 <br>"); write("若x = y++ 运算之后:"); x = y++;//y→x,y+1→y write("x 是 ", x, "; y 是 ", y, "<br>"); write("再作x = ++y 运算:"); x = ++y;//y+1→x,y+1→y write("x 是 ", x, "; y 是 ", y); } </Script> | 字符串运算符; + += 比较运算符; == != ===(值及类型) !==(值及类型) < <= > >= 例: 以下是引用片段: <Script> var x = 5; //x 是数值5 var y = '5'; //y 是字符串5 var z = 6; //x 是数值6 with (document) { write("x = 5, y = '5', z = 6"); write("<LI>x == y 吗?", x == y); write("<LI>x === y 吗?", x === y); write("<LI>x != y 吗?", x != y); write("<LI>x !== y 吗?", x !== y); write("<LI>x <= z 吗?", x <= z); write("<LI>y <= z 吗?", y <= z); //类型自动转换 } </Script> | 逻辑运算符; && || ! 例1: 以下是引用片段: <Script> var t = true; var f = false; with(document) { write("<OL><LI>true && true 的结果是 ", t && t); write("<LI>true && false 的结果是 ", t && f); write("<LI>false && true 的结果是 ", f && t); write("<LI>false && false 的结果是 ", f && f); write("<LI>true && (1==1) 的结果是 ", t && (1==1)); write("<LI>false && 'A' 的结果是 ", f && 'A'); write("<LI>'A' && false 的结果是 ", 'A' && f); write("<LI>true && 'A' 的结果是 ", t && 'A'); write("<LI>'A' && true 的结果是 ", 'A' && t); write("<LI>'A' && 'B' 的结果是 ", 'A' && 'B'); //&&:有一个不是逻辑值,只要第一个操作数的值为flase,则返回第一个操作数的值flase,否则,返回第二个操作数的值 } </Script> | 例2: 以下是引用片段: <Script> var t = true; var f = false; with(document) { write("<OL><LI>true || true 的结果是 ", t || t); write("<LI>true || false 的结果是 ", t || f); write("<LI>false || true 的结果是 ", f || t); write("<LI>false || false 的结果是 ", f || f); write("<LI>true || (1==1) 的结果是 ", t || (1==1)); write("<LI>false || 'A' 的结果是 ", f || 'A'); write("<LI>'A' || false 的结果是 ", 'A' || f); write("<LI>true || 'A' 的结果是 ", t || 'A'); write("<LI>'A' || true 的结果是 ", 'A' || t); write("<LI>'A' || 'B' 的结果是 ", 'A' || 'B'); //||:有一个不是逻辑值,只要第一个操作数为的值true、字符或非零的数字,则返回第一个操作数的值,否则,返回第二个操作数的值 } </Script> | 例3: 以下是引用片段: <Script> with(document) { write("<LI>!true 的结果是 ", !true); write("<LI>!false 的结果是 ", !false); write("<LI>!'A' 的结果是 ", !'A'); write("<LI>!0 的结果是 ", !0);} </Script> |
逐位运算符; 特殊运算符。 1、new运算符:创建对象(实例) 格式:对象名称=new 对象类型(参数) 2、this运算符:表示当前对象 格式:this[.属性] 例: 以下是引用片段: <Script> function validate(obj) { alert("你输入的值是:"+ obj.value); } </Script> 请输入任意字符:<BR> <INPUT TYPE="text" onKeyup="validate(this)"> | 3、条件运算符:三元运算符 格式:<条件表达式> ? 第一个值:第二个值 例: 以下是引用片段: NS = (document.layers) ? 1 : 0; IE = (document.all) ? 1: 0; window.screen.width>800 ? imgheight=100:imgheight=100 window.screen.width>800 ? imgleft=15:imgleft=122 <Script> function showSex() { onOroff = document.forms[0].sex[0].checked status = (onOroff)? "帅哥" : "美女" alert("Hello! " + status) } </Script> 请输入你的性别: <FORM onClick=showSex()> <INPUT TYPE=radio NAME=sex>男生 <INPUT TYPE=radio NAME=sex>女生 </FORM> |
|