- JavaScript表達式:
- 算術表達式;
- 字符串表達式;
- 關系(比較)表達式;
- 邏輯表達式。
- JavaScript運算符:
- 根據處理對象的數目:
- 單元運算符;
- 二元運算符;
- 三元運算符。
- 根據功能:
- 賦值運算符;
= += -= *= /= %=(取余)
- 算術運算符;
+ - * / %(取余) ++(遞增) --(遞減) -
例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>
- 賦值運算符;
- 運算符執行的優先順序:
類型 運算符 括號 () 一元 ! ~ - ++ -- typeof void delete 算術 * / + - 位位移 << >> >>> 比較 < <= > >= == != 位邏輯 & ^(xor) | 邏輯 && || 三元條件 ? 賦值 = += -= *= /= %= <<= >>= >>>= &= ^= |=
- JavaScript語句:
- 注釋語句:
- 單行注釋://注釋文字
- 多行注釋:/*
注釋文字
*/
- 例:
/***************************************
* 源 碼 之 家 *
* http://www.mycodes.net *
* 下載:http://www.mycodes.net *
* 論壇http://www.mycodes.net/bbs *
*****************************************/
- with語句: (對象操作語句)
- 功能:為一段程序建立默認對象。
- 格式:
with (<對象>){
<語句組>
}
- 例1:
with (document) {
write ("限時搶購物品:");
write ("<Li>ViewSonic 17\" 顯示器。");
write ("<Li>EPSON 打印機。");
}
- 例2:
document.write ("限時搶購物品:");
document.write ("<Li>ViewSonic 17\" 顯示器。");
document.write ("<Li>EPSON 打印機。");
- if...else語句:
格式1:
if (<表達式>)
<語句1>;
else
<語句2>;
if (<表達式>) <語句1>;
else <語句2>;
例:
<Script>
var now = new Date();
var hour = now.getHours();
if (6 < hour && hour < 18)
document.write ("辛勤工作才能快樂收割!");
else
document.write ("休息一下,充電后再出發。");
</Script>
格式2:
if (<表達式>){
<語句組1>
}else{
<語句組2>
}
格式3:
if (<表達式1>){
<語句組1>
}else if (<表達式2>){
<語句組2>
}else{
<語句組3>
}
例1:
<Script>
var now = new Date();
var day = now.getDay();
var dayName;
if (day == 0) dayName = "星期日";
else if (day == 1) dayName = "星期一";
else if (day == 2) dayName = "星期二";
else if (day == 3) dayName = "星期三";
else if (day == 4) dayName = "星期四";
else if (day == 5) dayName = "星期五";
else dayName = "星期六";
document.write ("今天是快樂的", dayName);
</Script>
例2:
<Script>
var now = new Date();
var day = now.getDay();
var dayName;
if (day = 0) dayName = "星期日";
else if (day = 1) dayName = "星期一";
else if (day = 2) dayName = "星期二";
else if (day = 3) dayName = "星期三";
else if (day = 4) dayName = "星期四";
else if (day = 5) dayName = "星期五";
else dayName = "星期六";
document.write ("今天是快樂的", dayName);
</Script>
- while語句:
格式1:
while (<表達式>)
語句;
格式2:
while (<表達式>){
<語句組>
}
例:
<Script>
var i = 5;
while ( i > 0 ) {
document.write("i = " ,i ,"<BR>");
i--;
}</Script>
- do...while語句:
格式:
do {
<語句組>
} while (<表達式>)
例:
<Script>
var i = 5;
do {
document.write("i = " ,i ,"<BR>");
i--;
} while ( i > 0 )</Script>
- for語句:
格式:
for (<初始表達式>;<條件表達式>;<變動量表達式>){
<語句組>
}
例:
<Script>
for ( var i = 5; i > 0; i-- ) {
document.write("i = " ,i ,"<BR>");
}</Script>
- for...in語句:重復執行指定對象的所有屬性
格式:
for ( 變量 in 對象 ){
<語句組>
}
例:
<Script>
function member(name, sex) {//構造函數member
this.name = name;
this.sex = sex;
}
function showProperty(obj, objString) {
var str = "";
for (var i in obj)
str += objString + "." + i + " = " + obj[i] + "<BR>";
return str;
}
papa = new member("楊宏文", "男生");//建立對象實例papa
document.write(showProperty(papa, "papa"))</Script>
- break語句:
格式:break
例:
<Script>
var i = 5;
while ( i > 0 ) {
if ( i == 3 ) break;
document.write("i = " ,i ,"<BR>");
i--;
}</Script>
- continue語句:
格式:continue
例:
<Script>
var i = 5;
while ( i > 0 ) {
i--;
if ( i == 3 ) continue;
document.write("i = " ,i ,"<BR>");
}</Script>
- switch語句:
格式:
switch (<表達式>) {
case <數值1>:<語句組1>
break;
case <數值2>:<語句組2>
break;
...
default <語句組>
}
例:
<Script>
function greet(givenSex) {
switch(givenSex) {
case "帥哥" : alert("你好啊!");
break;
case "美女" : alert("你好啊!");
break;
}
}
</Script>請輸入性別:
<FORM>
<INPUT TYPE="radio" NAME="sex" onClick="greet('帥哥')">
帥哥
<INPUT TYPE="radio" NAME="sex" onClick="greet('美女')">
美女
</FORM>
ExtJS教程- Hibernate教程-Struts2 教程-Lucene教程