Toán tử là gì ?
Chúng ta cùng quan sát một biểu thức đơn giản sau:
4 + 5 = 9.
Ở đây 4 và 5 được gọi là toán hạng; dấu " + " được gọi là toán tử. Javascript hỗ trợ những loại toán tử sau:
- Toán tử toán học
- Toán tử so sánh
- Toán tử Logic (hay quan hệ)
- Toán tử gán
- Toán tử điều kiện
![]() |
Bài 5: Toán tử trong Javascript |
Toán tử toán học:
Cho a = 9
Toán tử toán học có các loại sau:
Cộng ( + )
Trừ ( - )
Nhân ( * )
Chia lấy nguyên ( \ )
Chia lấy dư ( % )
Toán tử tăng ( ++ ): ví dụ a++ sẽ bằng 10 ( a = a + 1)
Toán tử giảm ( -- ) : ví dụ a-- sẽ bằng 8 ( a = a - 1)
Thực hiện đoạn code sau và chạy thử để hiểu rõ hơn:
<html>Kết quả:
<body>
<script type="text/javascript">
<!--
var a = 33;
var b = 10;
var c = "Test";
var linebreak = "<br />";
document.write("a + b = ");
result = a + b;
document.write(result);
document.write(linebreak);
document.write("a - b = ");
result = a - b;
document.write(result);
document.write(linebreak);
document.write("a / b = ");
result = a / b;
document.write(result);
document.write(linebreak);
document.write("a % b = ");
result = a % b;
document.write(result);
document.write(linebreak);
document.write("a + b + c = ");
result = a + b + c;
document.write(result);
document.write(linebreak);
a = ++a;
document.write("++a = ");
result = ++a;
document.write(result);
document.write(linebreak);
b = --b;
document.write("--b = ");
result = --b;
document.write(result);
document.write(linebreak);
//-->
</script>
</body>
</html>
a + b = 43
a - b = 23
a / b = 3.3
a % b = 3
a + b + c = 43Test
++a = 35
--b = 8
Chú ý: Toán tử cộng (+) có thể cộng một chuỗi với một số, ví dụ: "Toi yeu so" + 9
Toán tử so sánh:
Cho a = 10; b = 20;
- So sánh bằng ( == ) : Kiểm tra hai giá trị có bằng nhau không. Nếu có trả về True, nếu không thì trả về False. Ví dụ (a==b) trả về False
- So sánh không bằng ( != ) : Nếu hai giá trị không bằng nhau trả về True, bằng trả về False.
- So sánh lớn hơn ( > ) : Nếu giá trị bên trái lớn hơn phải trả về True, còn không trả về False.
- So sánh bé hơn ( < ) : Nếu giá trị bên trái nhỏ hơn phải trả về True, còn không trả về False.
- So sánh lớn hơn bằng ( >= ) : Nếu giá trị bên trái lớn hơn hoặc bằng giá trị bên phải trả về True, còn không trả về False.
- So sánh bé hơn bằng ( <= ) : Nếu giá trị bên trái nhỏ hơn hoặc bằng giá trị bên phải trả về True, còn không trả về False.
Toán tử Logic (hay quan hệ):
Cho a = True; b = False;
Toán tử Và ( && ) : Ví dụ a&&b. Trả về True nếu cả a và b đều True
Toán tử Hoặc ( || ) : Ví dụ a || b. Trả về True nếu a hoặc b True.
Toán tử Khác ( ! ) : Trả ngược lại kết quả của một phép Logic. Ví trụ !True là False
Thực hiện đoạn code sau và chạy thử để hiểu rõ hơn:
<html>
<body>
<script type="text/javascript">
<!--
var a = true;
var b = false;
var linebreak = "<br />";
document.write("(a && b) => ");
result = (a && b);
document.write(result);
document.write(linebreak);
document.write("(a || b) => ");
result = (a || b);
document.write(result);
document.write(linebreak);
document.write("!(a && b) => ");
result = (!(a && b));
document.write(result);
document.write(linebreak);
//-->
</script>
</body>
</html>
Kết quả:
(a && b) => false
(a || b) => true
!(a && b) => true
Toán tử Bitwise:
Updating...
Toán tử gán:
- Gán bằng ( = ) : Gán giá trị bên phải cho biến bên trái. ví dụ c = a + b
- Cộng và gán ( += ) : c+=a tương đương c = c + a
- Trừ và gá ( -= ) : c-=a tương đương c = c - a
- Nhân và gán ( *= ) : c*=a tương đương c = c * a
- Chia và gán ( /= ) : c/=a tương đương c = c / a
- Chia lấy dư và gán ( %= ) : c%=a tương đương c = c % a
Thực hiện đoạn code sau và chạy thử để hiểu rõ hơn:
<html>
<body>
<script type="text/javascript">
<!--
var a = 33;
var b = 10;
var linebreak = "<br />";
document.write("Value of a => (a = b) => ");
result = (a = b);
document.write(result);
document.write(linebreak);
document.write("Value of a => (a += b) => ");
result = (a += b);
document.write(result);
document.write(linebreak);
document.write("Value of a => (a -= b) => ");
result = (a -= b);
document.write(result);
document.write(linebreak);
document.write("Value of a => (a *= b) => ");
result = (a *= b);
document.write(result);
document.write(linebreak);
document.write("Value of a => (a /= b) => ");
result = (a /= b);
document.write(result);
document.write(linebreak);
document.write("Value of a => (a %= b) => ");
result = (a %= b);
document.write(result);
document.write(linebreak);
//-->
</script>
</body>
</html>
Kết quả:
Value of a => (a = b) => 10
Value of a => (a += b) => 20
Value of a => (a -= b) => 10
Value of a => (a *= b) => 100
Value of a => (a /= b) => 10
Value of a => (a %= b) => 0
Toán tử kết hợp:
Toán tử điều kiện ( ? : )
Đây là toán tử rút gọn của câu lệnh điều kiện if-else
Biểu thức ? Giá trị 1 : Giá trị 2
Nếu Biểu thức trả về True thì nhận Giá trị 1 còn trả về False thì nhận Giá trị 2
Thực hiện đoạn code sau và chạy thử để hiểu rõ hơn:
<html>
<body>
<script type="text/javascript">
<!--
var a = 10;
var b = 20;
var linebreak = "<br />";
document.write ("((a > b) ? 100 : 200) => ");
result = (a > b) ? 100 : 200;
document.write(result);
document.write(linebreak);
document.write ("((a < b) ? 100 : 200) => ");
result = (a < b) ? 100 : 200;
document.write(result);
document.write(linebreak);
//-->
</script>
</body>
</html>
Kết quả:
((a > b) ? 100 : 200) => 200
((a < b) ? 100 : 200) => 100
Toán tử typeof:
Toán tử typeof dùng để kiểm tra kiểu dữ liệu của toán hạng dựa vào việc đánh giá.Dưới đây là những giá trị trả về cho toán tử typeof :
Kiểu | Chuỗi được trả về bởi typeof |
---|---|
Number | "number" |
String | "string" |
Boolean | "boolean" |
Object | "object" |
Function | "function" |
Undefined | "undefined" |
Null | "object" |
<html>
<body>
<script type="text/javascript">
<!--
var a = 10;
var b = "String";
var linebreak = "<br />";
result = (typeof b == "string" ? "B is String" : "B is Numeric");
document.write("Result => ");
document.write(result);
document.write(linebreak);
result = (typeof a == "string" ? "A is String" : "A is Numeric");
document.write("Result => ");
document.write(result);
document.write(linebreak);
//-->
</script>
</body>
</html>
Kết quả:
Result => B is String
Result => A is Numeric
Comments
Post a Comment