24/05/2018, 21:21

Các toán tử trong JavaScript

Các toán tử thực hiện tính toán trên một hoặc nhiều biến hoặc giá trị (toán hạng) và trả về một giá trị mới. Toán tử '+' có thể cộng hai số để cho ra một số thứ ba. Các toán tử được dùng trong các biểu thức với các giá trị liên quan đến ...

Các toán tử thực hiện tính toán trên một hoặc nhiều biến hoặc giá trị (toán hạng) và trả về một giá trị mới.

Toán tử '+' có thể cộng hai số để cho ra một số thứ ba.

Các toán tử được dùng trong các biểu thức với các giá trị liên quan đến nhau--nhằm thực hiện các phép toán hoặc so sánh các giá trị.

JavaScript sử dụng cả các toán tử hai ngôi và các toán tử một ngôi.

  • Toán tử hai ngôi cần hai toán hạng.
    4 + 5 
        

    Trong đó 4 và 5 là các toán hạng và + là toán tử

  • Toán tử một ngôi đòi hỏi phải có một toán hạng.
    a++ or b++
        

Các toán tử được phân loại tuỳ thuộc vào chức năng mà chúng thực hiện :

  1. Toán tử số học

    Các toán tử số học sử dụng các giá trị số (literals hay các biến) làm toán hạng của chúng và trả về một giá trị số. Các toán tử số học cơ bản là:

    Toán tử Mô tả Ví dụ
    + Phép cộng A = 5 + 8
    - Phép trừ A = 8 - 5
    / Phép chia A = 20 / 5
    % Phép chia lấy số dư 10 % 3 = 1
    ++ Tăng lên một đơn vị. Toán tử này nhận một toán hạng. Giá trị của toán hạng sẽ tăng lên 1 đơn vị. Giá trị được trả về sẽ tuỳ thuộc vào toán tử ++ nằm sau hay nằm trước toán hạng. ++x sẽ trả về giá trị của x sau khi tăng.x++ sẽ trả về giá trị của x trước khi tăng.
    - - Giảm một đơn vị. Toán tử này nhận một toán hạng. Giá trị được trả về tuỳ thuộc vào toán tử -- nằm trước hay nằm toán hạng. --x sẽ trả về giá trị của x sau khi giảm. x-- sẽ trả về giá trị của x trước khi giảm. .
    - Lấy số đối. Nó sẽ trả về số đối của toán hạng Nếu a là 5, thì –a = -5.
    <HTML>
        <HEAD>
               <SCRIPT LANGUAGE="JavaScript">
        		var x = 10;
        		alert ("The value of x = " + x);
        		alert ("The value of x + x = " + (x + x));
       		alert ("The value of x - x = " + (x - x));
        		alert ("The value of x * x = " + (x * x));
        		alert ("The value of x / 3 = " + (x / 3)); 
        		alert ("The value of x % 3 = " + (x % 3)); 
        		alert ("The value of --x = " + (--x)); 
        		alert ("The value of ++x = " + (++x)); 
        		alert ("The value of -x = " + (-x)); 
              </SCRIPT>
        </HEAD>
    </HTML>
        
    

    Dưới đây là một số hộp thông báo:

    JavaScript: Các toán tử số học

  1. Các toán tử so sánh

    Toán tử so sánh thường so sánh các toán hạng của nó và trả về một giá trị logic dựa trên phép so sánh đó đúng hay không. Các toán hạng có thể là các giá trị số hoặc chuỗi. Khi so sánh chuỗi, nó sẽ dựa trên thứ tự các kí tự trong bảng chữ cái.

    Toán tử Mô tả Ví dụ
    = = Bằng. Trả về giá trị true nếu các toán hạng bằng nhau. a = = b
    != Không bằng. Trả về giá trị true nếu các toán hạng không bằng nhau. Var2 != 5
    > Lớn hơn. Trả về giá trị true nếu toán hạng trái lớn hơn toán hạng phải. Var1 > var2
    >= Lớn hơn hoặc bằng. Trả về giá trị true nếu toán hạng trái lớn hơn hoặc bằng toán hạng phải. Var1 >= 5Var1 >= var2
    < Nhở hơn. Trả về giá trị true nếu toán hạng trái nhỏ hơn toán hoạng phải. Var2 < var1
    <= Nhỏ hơn hoặc bằng. Trả vè giá trị true nếu toán hạng trái nhỏ hơn hoặc bằng toán hạng phải. Var2 <= 4Var2 <= var1
  1. Toán tử logic

    Toán tử logic được dùng để kết hợp nhiều toán tử so sánh thành một biểu thức điều kiện. Một toán tử logic thường có hai toán hạng, mỗi một toán hạng đó đều có giá trị true hoặc false và trả về kết quả true hoặc false.

    Có thể chúng ta muốn kiểm tra xem (total>100) AND (StateTax=true).

    Toán tử Giá trị Mô tả
    And ( &&) expr1 && expr2 Trả về giá trị của expr1 nếu nó là false. Nếu không thì nó trả về giá trị của expr2.
    Or ( ||) expr1 || expr2 Trả về giá trị của expr1 nếu nó là true. Nếu không thì nó sẽ trả về giá trị của expr2.
    Not (!) !expr Trả về giá trị false nếu biểu thức đúng và trả về giá trị true nếu biểu thức sai.
    <HTML>
        <HEAD>
             <SCRIPT LANGUAGE="JavaScript">
        		var x = 10;
        		var y = 5;
        		alert ("The value of x is " + x + "The value of y is " + y);
        		alert("x AND y = " + (x && y));
        		alert("x OR y = " + (x || y));
        		alert("NOT x = " + (!x));
        	</SCRIPT>
        </HEAD>
    </HTML>
        

    Kết quả:

    Toán tử logic

  1. Toán tử chuỗi

    Toán tử chuỗi nhận hai toán hạng và tạo ra một chuỗi mới bằng cách ghép hai chuỗi ban đầu lại với nhau.

    x = ‘yellow’;
    y = ‘green’;
    z = x + y + ‘white’; which means z  is "yellowgreenwhite"
    w = y + 9, which means w is "green9"
       
  1. Toán tử Evaluation

    Một số toán tử ít sử dụng trong JavaScript và không được xếp vào loại cụ thể nào. Những toán tử này được liệt kê dưới đây:

    • Toán tử điều kiện

      (condition) ? trueVal : falseVal gán một giá trị xác định cho một biến nếu điều kiện đúng, và ngược lại gán một giá trị khác nếu điều kiện là false.

      status = (age >= 18) ? "adult" : "minor"
          

      Nếu tuổi lớn hơn hoặc bằng 18, biến status được gán giá trị “adult”. Nếu không, nó sẽ có giá trị “minor.

      Trong ví dụ sau đây, phương thức getSeconds() được dùng để lấy số giây từ đối tượng Date và gán nó với biến “seconds”. Nếu giá trị “seconds” lớn hơn hoặc bằng 3 hoặc nhỏ hơn hoặc bằng 50, thì màu nền của tài liệu chuyển sang màu đỏ (red). Ngược lại màu nền là màu xanh lục (green).

      <html>
       <head>
        <script language="JavaScript">
           
         </script>
       </head>
       <h1>
        <hr>
         Welcome to Aptech Limited.
        </hr> </h1>
        </body>
      </html>
         
      JavaScript: Toán tử Evaluation
    • typeof

      Toán tử typeof trả về chuỗi cho biết tên kiểu dữ liệu của toán hạng

      <html>
        <head>
         <script language="JavaScript">
          
         </script>
        </head>
      </html>
         

      Toán tử typeof sẽ trả về: number

      Kết quả:

      JavaScript: Toán tử typeof
  1. Mức ưu tiên của các toán tử

    Khi có nhiều toán tử trong cùng một biểu thức, độ ưu tiên của toán tử xác định thứ tự thực hiện của toán tử đó. Một biểu thức được đọc từ trái sang phải và được thực hiện từ các toán tử có độ ưu tiên cao đên các toán tử có độ ưu tiên thấp hơn. Nếu chúng ta muốn thay đổi trật tự thực hiện của các toán tử, ta phải sử dụngc các dấu ngoặc. Bảng dưới đây liệt kê độ ưu tiên của các toán tử từ thấp đến cao:

    Kiểu toán tử Các toán tử đơn
    Gán = += -= *= /= %= <<= >>= >>>= &= ^= |=
    Điều kiện ?:
    logic -or ||
    logic -and &&
    bitwise-or |
    bitwise-xor ^
    bitwise-and &
    bằng/không bằng == !=
    quan hệ < <= > >=
    dịch bit << >> >>>
    cộng/trừ + -
    nhân/chia * / %
    phủ định/tăng ! ~ - ++ -- typeof void
0