官术网_书友最值得收藏!

2.3 運算符

運算符是指能夠完成一系列計算操作的符號(如+、-、*、/等),通常將被計算的數(shù)稱為操作數(shù),例如“1+2”這個式子中1和2就是操作數(shù),而“+”就是操作符。按照操作數(shù)的個數(shù)可以將運算符分為單目運算符(只有一個操作數(shù))、雙目運算符(有2個操作數(shù))和三目運算符(有3個操作數(shù))。

1.單目運算符

單目運算符只有一個操作數(shù),常見的單目運算符例如++、--等,如下所示。

x++

y-

2.雙目運算符

雙目運算符有兩個操作數(shù),這也是最常用的,例如下面的例子都是雙目運算符。

x+y

x-y

x>y

x==y

3.三目運算符

三目運算符有3個操作數(shù),條件運算符“?:”就是典型的三目運算符,如下所示。

<script type="text/javascript">

var score;

score>90 ? "優(yōu)秀":"普通";

</script>

“?”前面為一條件判斷表達式,如果符合條件,即其值為true時,就取冒號前的值,否則就取冒號后面的值。例如上面的代碼,如果score的值大于90,則經(jīng)過計算后其結(jié)果為“優(yōu)秀”。如果score的值小于90,則經(jīng)過計算后其結(jié)果為“普通”。

此外,按照操作數(shù)的類型來分,運算符還可以分為算術(shù)運算符、關(guān)系運算符、賦值運算符、邏輯運算符和條件運算符等。

2.3.1 算術(shù)運算符

算術(shù)運算符主要用于在程序中進行加、減、乘、除等運算,JavaScript中常用的算術(shù)運算符如表2-3所示。

表2-3 JavaScript的算術(shù)運算符

【同步案例2-4】:計算賬單金額

案例描述:日常中經(jīng)常遇到算帳的問題。本案例要求通過編程實現(xiàn)統(tǒng)計商品的金額。當(dāng)商品標(biāo)價100元,稅率為0.05,統(tǒng)計買一件該商品的總金額和稅金分別是多少?

(1)案例分析

①按照案例要求,要計算商品總金額,可用算術(shù)運算符來實現(xiàn)。

②在實現(xiàn)本案例時,需要先聲明四個變量分別用來保存總金額、稅金、稅率、標(biāo)價的值,再通過算術(shù)運算符來進行計算。

③將計算結(jié)果在頁面上輸出。

(2)實現(xiàn)代碼

<!doctype html>

<html>

<head>

<meta charset="utf-8">

<title>商品統(tǒng)計總價示例</title>

</head><body><pre>

<script type="text/javascript">

  var list=100;//標(biāo)價

  var rate=0.05;//稅率

  var tax;//稅金

  var total;//總金額

  tax=list*rate;//稅金等于標(biāo)價*稅率

  total=list+tax;//總金額等于標(biāo)價+稅金

  document.writeln("商品的總金額="+total);

  document.writeln("商品的稅金="+tax);

</script>

</pre></body></html>

(3)實現(xiàn)效果

實現(xiàn)效果如圖2-6所示。

圖2-6 計算賬單金額示例

2.3.2 關(guān)系運算符

關(guān)系運算符又叫比較運算符,是對兩個操作數(shù)進行比較,然后返回一個布爾值。關(guān)系運算符如表2-4所示。

表2-4 JavaScript的關(guān)系運算符

【同步案例2-5】:比較兩個數(shù)的大小

案例描述:在日常生活中,經(jīng)常遇到兩數(shù)大小比較的問題。要實現(xiàn)兩個數(shù)的大小比較,用JavaScript的關(guān)系運算符很容易實現(xiàn)。本案例要求運用比較運算符來比較兩個數(shù)的大小并在頁面上輸出結(jié)果。

(1)案例分析

①按照案例要求,對兩個數(shù)的大小進行比較,可用關(guān)系運算符來實現(xiàn)。

②首先要聲明一個變量,用來保存要比較的值。然后通過這個變量的值與其他值進行比較。

③將比較的結(jié)果通過document.write()在頁面上輸出。

(2)實現(xiàn)代碼

<!doctype html>

<html>

<head>

<meta charset="utf-8">

<title>比較兩個數(shù)的大小示例</title>

</head><body>

<script type="text/javascript">

  var score=80;

  document.write("score變量的值為:"+score+"<br>");

  document.write("score>=70:"+(score>=70)+"<br>");

  document.write("score<70:"+(score<70)+"<br>");

  document.write("score!=70:"+(score!=70)+"<br>");

  document.write("score>70:"+(score>70)+"<br>");

</script>

</body></html>

(3)實現(xiàn)效果

實現(xiàn)效果如圖2-7所示。

圖2-7 比較兩數(shù)大小示例

2.3.3 賦值運算符

JavaScript的賦值運算分為簡單賦值運算和復(fù)合賦值運算。簡單賦值運算是將賦值運算符(=)右邊的值賦值給左邊的變量;復(fù)合賦值運算則是在賦值時混合了其他運算,例如下列代碼所示。

sum+=n //等同于sum=sum+n

需要注意的是,賦值表達式的值等于賦值運算符左邊的變量值,JavaScript的賦值運算符如表2-5所示。

表2-5 JavaScript的賦值運算符

續(xù)表

【同步案例2-6】:賦值運算符使用示例

案例描述:在JavaScript程序設(shè)計中,經(jīng)常遇到賦值。本案例要求通過使用賦值運算符,實現(xiàn)表達式賦值運算,并在頁面上輸出結(jié)果。

(1)案例分析

①按照案例要求,要對變量進行賦值運算,可先聲明兩個變量,并對變量賦初值。

②通過賦值運算符進行賦值運算。

③通過document.write()語句將結(jié)果在頁面上輸出。

(2)實現(xiàn)代碼

<!doctype html>

<html>

<head>

<meta charset="utf-8">

<title>賦值運算符測試示例</title>

</head><body><pre>

<script type="text/javascript">

  var a=5,b=6;

  document.writeln("a=5,b=6");

  document.writeln("");

  document.write("a+=b="); a+=b; document.writeln(a);

  document.write("a-=b="); a-=b; document.writeln(a);

  document.write("a*=b="); a*=b; document.writeln(a);

  document.write("a/=b="); a/=b; document.writeln(a);

  document.write("a%=b="); a%=b; document.writeln(a);

</script>

</pre></body></html>

(3)實現(xiàn)效果

實現(xiàn)效果如圖2-8所示。

圖2-8 賦值運算符使用示例

2.3.4 邏輯運算符

邏輯運算符的操作數(shù)和運算結(jié)果都是布爾值,在關(guān)系表達式中經(jīng)常用到邏輯運算符,所以在JavaScript程序中,邏輯運算符比較典型的應(yīng)用就是與關(guān)系運算符配合使用,如下描述所示。

表達式x>=10 && x<=99,可以用來判斷x是否屬于10到99之間的數(shù)值。

JavaScript的邏輯運算符如表2-6所示。

表2-6 JavaScript的邏輯運算符

【同步案例2-7】:邏輯運算符與關(guān)系運算符配合使用示例

案例描述:本案例主要用來測試邏輯運算符和關(guān)系運算符配合應(yīng)用,并將測試結(jié)果在頁面上輸出。

(1)案例分析

①按照案例要求,在進行邏輯運算符和關(guān)系運算符配合使用時,可以先聲明3個變量,分別用來保存兩個操作數(shù)的值和進行運算后的結(jié)果初值。

②通過邏輯運算符和關(guān)系運算符進行運算。

③應(yīng)用document.write()語句在頁面上輸出結(jié)果。

(2)實現(xiàn)代碼

<!doctype html>

<html>

<head>

<meta charset="utf-8">

<title>邏輯運算符和關(guān)系運算符測試示例</title>

</head><body><pre>

<script type="text/javascript">

  var a=5,b=6,result;

  document.writeln("a=5,b=6");

  document.writeln("");

  document.write("a&lt;b&&a&lt;=b="); result=a<b&&a<=b;

  document.writeln(result);

  document.write("a&lt;b&&a&gt;b="); result=a<b&&a>b;

  document.writeln(result);

  document.write("a&lt;b||a&gt;b="); result=a<b||a>b;

  document.writeln(result);

  document.write("a&gt;b||a&gt;=b="); result=a>b||a>=b;

  document.writeln(result);

  document.write("!(a&lt;b)="); result=!(a<b);

  document.writeln(result);

  document.write("!(a&gt;b)="); result=!(a>b);

  document.writeln(result);

</script>

</pre></body></html>

(3)實現(xiàn)效果

實現(xiàn)效果如圖2-9所示。

圖2-9 邏輯運算符和關(guān)系運算符使用示例

2.3.5 條件運算符

條件運算符是JavaScript支持的一種特殊的三目運算符。

(1)語法格式

條件表達式?結(jié)果1:結(jié)果2

(2)語法格式解析

條件表達式:對條件表達式進行計算,求出表達式的值,其值為true或者false。

結(jié)果1:如果條件表達式的值為true,執(zhí)行結(jié)果1。

結(jié)果2:如果條件表達式的值為false,執(zhí)行結(jié)果2。

【同步案例2-8】:實現(xiàn)選擇正確或錯誤結(jié)果的示例

案例描述:根據(jù)條件運算符可以很輕松地處理具有相反結(jié)果的事件。本案例通過條件表達式根據(jù)輸入的年齡來判斷一個人是否為成年。以年齡18為基準(zhǔn),大于等于18為成年,小于18為未成年,最后將結(jié)果在頁面上輸出。

(1)案例分析

①根據(jù)案例要求,需要先聲明兩個變量,一個用來保存基準(zhǔn)歲數(shù)18,另一個保存結(jié)果。

②通過條件運算符對變量進行計算。

③通過document.write()語句在頁面上輸出結(jié)果。

(2)實現(xiàn)代碼

<!doctype html>

<html>

<head>

<meta charset="utf-8">

<title>條件運算符測試示例</title>

</head><body><pre>

<script type="text/javascript">

  var age,result;

  age=20;

  result = (age>=18)?"成年人":"未成年人";

  document.write("按照小李的年齡看,他已經(jīng)是:"+result+"了。");

</script>

</pre></body></html>

(3)實現(xiàn)效果

實現(xiàn)效果如圖2-10所示。

圖2-10 選擇正確或錯誤結(jié)果的示例

2.3.6 其他運算符

1.位操作運算符

位操作運算符是對整數(shù)的二進制位進行操作,如向左或向右移位等。位操作運算符在進行運算前,先將操作數(shù)轉(zhuǎn)換為32位的二進制數(shù),然后再進行相關(guān)運算,最后輸出的結(jié)果將以十進制表示。JavaScript中常用的位操作運算符如表2-7所示。

表2-7 JavaScript的位操作運算符

試一試

執(zhí)行以下3條語句,看會出現(xiàn)什么結(jié)果。

document.writeln(4<<2); document.writeln(4>>2); document.writeln(4>>>2);

2.typeof運算符

typeof運算符返回它的操作數(shù)的類型,在JavaScript中經(jīng)常用來判斷一個變量的類型以及這個變量是否已經(jīng)被定義。

【同步案例2-9】:通過typeof測試變量類型示例

案例描述:本案例要求用typeof運算符測試一下指定變量的類型,以掌握typeof在程序中的應(yīng)用。

(1)案例分析

①根據(jù)案例要求,對變量的類型進行測試,可以先聲明幾個變量并賦初值作為測試的對象。

②通過typeof運算來對聲明的變量進行計算。

③通過document.write()語句將在頁面上輸出測試結(jié)果。

(2)實現(xiàn)代碼

<!doctype html>

<html>

<head>

<meta charset="utf-8">

<title>typeof運算符測試示例</title>

</head><body><pre>

<script type="text/javascript">

 var a,type_a;

 a=100; type_a=typeof a; document.writeln("變量a的類型是:"+type_a);

 a=true; type_a=typeof a; document.writeln("變量a的類型是:"+type_a);

 a="hello"; type_a=typeof a; document.writeln("變量a的類型是:"+type_a);

 a=null; type_a=typeof a; document.writeln("變量a的類型是:"+type_a);

</script>

</pre></body></html>

(3)實現(xiàn)效果

實現(xiàn)效果如圖2-11所示。

圖2-11 typeof測試變量類型示例

主站蜘蛛池模板: 盐山县| 黄平县| 黄梅县| 修水县| 韶关市| 沙田区| 庆阳市| 阿荣旗| 萍乡市| 新宁县| 宜川县| 比如县| 靖远县| 玉门市| 固始县| 从化市| 台山市| 宜都市| 和平县| 溆浦县| 扶沟县| 晋州市| 连南| 湘西| 广安市| 四会市| 龙游县| 安化县| 左云县| 峨眉山市| 威海市| 高阳县| 武冈市| 威宁| 汶上县| 六盘水市| 逊克县| 昌黎县| 株洲县| 甘谷县| SHOW|