JavaScript 快速導覽 - 單元運算

JavaScript 的單元運算子 (unary operator) 僅需一個運算元,有表示數字為正負的 + 、 - ,另有遞增運算子 (increment operator) ++ ,遞減運算子 (decrement operator) -- ,以及邏輯補數運算子 (logical compliment operator) ! ,如下列表

運算子功能範例
++a
--a
++遞增++a, a++
--遞減--a, a--
!邏輯補數運算子!a


邏輯補數運算子通常用在布林型態,用來取布林值的補數,也就是說 true 會變成 falsefalse 會變成 true ,如
function run() {
    var c = document.getElementById("content");
    var n1 = document.createElement("p");
    var n2 = document.createElement("p");
    var n3 = document.createElement("p");
    var n4 = document.createElement("p");
    n1.appendChild(document.createTextNode(true));
    c.appendChild(n1);
    n2.appendChild(document.createTextNode(false));
    c.appendChild(n2);
    n3.appendChild(document.createTextNode(!true));
    c.appendChild(n3);
    n4.appendChild(document.createTextNode(!false));
    c.appendChild(n4);
}

/* 《程式語言教學誌》的範例程式
     http://pydoing.blogspot.com/
     檔名:run07.js
     功能:示範 JavaScript 程式 
     作者:張凱慶
     時間:西元 2010 年 11 月 */


利用以下的 HTML 文件載入
<html>

<head>
<title>JavaScript Demo</title>
<script src="run07.js" type="text/javascript"></script>
</head>

<body>
<input id="b" type="button" value="RUN" onclick="run();">
<div id="content"></div>
</body>

</html>

<!-- 《程式語言教學誌》的範例程式
     http://pydoing.blogspot.com/
     檔名:jsexample10.html
     功能:示範 JavaScript 程式 
     作者:張凱慶
     時間:西元 2010 年 11 月 -->


瀏覽器 (broswer) 開啟後執行,如下



正、負運算子的用法就跟數學的用法一樣,正號加到正數前就是正數,加到負數前,負數仍是負數,負號加到正數或負數都會變號,也就是說,正數會變成負數,負數會變成正數,例如
function run() {
    var c = document.getElementById("content");
    var n1 = document.createElement("p");
    var n2 = document.createElement("p");
    var t = -22;
    n1.appendChild(document.createTextNode(+t));
    c.appendChild(n1);
    n2.appendChild(document.createTextNode(-t));
    c.appendChild(n2);
}

/* 《程式語言教學誌》的範例程式
     http://pydoing.blogspot.com/
     檔名:run08.js
     功能:示範 JavaScript 程式 
     作者:張凱慶
     時間:西元 2010 年 11 月 */


利用以下的 HTML 文件載入
<html>

<head>
<title>JavaScript Demo</title>
<script src="run08.js" type="text/javascript"></script>
</head>

<body>
<input id="b" type="button" value="RUN" onclick="run();">
<div id="content"></div>
</body>

</html>

<!-- 《程式語言教學誌》的範例程式
     http://pydoing.blogspot.com/
     檔名:jsexample11.html
     功能:示範 JavaScript 程式 
     作者:張凱慶
     時間:西元 2010 年 11 月 -->


瀏覽器開啟後執行,如下



遞增或遞減運算子可將變數 (variable) 遞增或遞減,注意這只能施用在變數上,不能用在字面常數 (literal) 上頭
function run() {
    var c = document.getElementById("content");
    var n3 = document.createElement("p");
    var n4 = document.createElement("p");
    var t = -22;
    n3.appendChild(document.createTextNode(++t));
    c.appendChild(n3);
    n4.appendChild(document.createTextNode(--t));
    c.appendChild(n4);
}

/* 《程式語言教學誌》的範例程式
     http://pydoing.blogspot.com/
     檔名:run09.js
     功能:示範 JavaScript 程式 
     作者:張凱慶
     時間:西元 2010 年 11 月 */


利用以下的 HTML 文件載入
<html>

<head>
<title>JavaScript Demo</title>
<script src="run09.js" type="text/javascript"></script>
</head>

<body>
<input id="b" type="button" value="RUN" onclick="run();">
<div id="content"></div>
</body>

</html>

<!-- 《程式語言教學誌》的範例程式
     http://pydoing.blogspot.com/
     檔名:jsexample12.html
     功能:示範 JavaScript 程式 
     作者:張凱慶
     時間:西元 2010 年 11 月 -->


瀏覽器開啟後執行,如下



中英文術語對照
單元運算子unary operator
遞增運算子increment operator
遞減運算子decrement operator
邏輯補數運算子logical compliment operator
變數variable
字面常數literal






沒有留言: