本文将通过一系列代码示例详细解析 JavaScript 中的运算符、数据类型转换以及三元运算符的应用,帮助读者深入理解这些核心概念,并掌握它们在实际编程中的应用。
本文的内容主要分为以下几个部分:
JavaScript 提供了多种运算符,用于执行不同的操作。以下是一些常见的运算符:
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- </head>
- <body>
- <script>
- // 算术运算符
- console.log(5 + 3); // 8
- console.log(5 - 3); // 2
- console.log(5 * 3); // 15
- console.log(5 / 3); // 1.6666666666666667
- console.log(5 % 3); // 2
-
- // 赋值运算符
- var a = 5;
- a += 3; // a = a + 3
- console.log(a); // 8
-
- // 关系运算符
- console.log(5 > 3); // true
- console.log(5 < 3); // false
- console.log(5 >= 3); // true
- console.log(5 <= 3); // false
-
- // 相等运算符
- console.log(5 == '5'); // true
- console.log(5 === '5'); // false
- console.log(5 != '5'); // false
- console.log(5 !== '5'); // true
-
- // 逻辑运算符
- console.log(true && false); // false
- console.log(true || false); // true
- console.log(!true); // false
- </script>
- </body>
- </html>
-
在 JavaScript 中,数据类型转换是非常常见的操作。以下是几种常用的数据类型转换方法:
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- </head>
- <body>
- <script>
- console.log(typeof 3); // 'number'
- console.log(typeof '3'); // 'string'
- console.log(typeof false); // 'boolean'
- console.log(typeof null); // 'object' null是一个不是对象的对象
- console.log(typeof undefined); // 'undefined'
- console.log(typeof NaN); // 'number' NaN是一个不是数字的数字
- console.log(typeof typeof 3); // 'string'
- </script>
- </body>
- </html>
-
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE-edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- </head>
- <body>
- <script>
- console.log(parseInt('12.3.4')); // 12
- console.log(parseInt('3 a')); // 3
- console.log(parseInt('a345')); // NaN
- console.log(parseInt(3.4)); // 3
- console.log(parseInt('3' + 4)); // 34
-
- console.log(parseFloat('1.2.3.4')); // 1.2
- console.log(parseFloat('2 34')); // 2
- console.log(parseFloat('a1.2')); // NaN
- console.log(parseFloat(' 32.4')); // 32.4
- console.log(parseFloat('')); // NaN
- </script>
- </body>
- </html>
-
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE-edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- </head>
- <body>
- <script>
- console.log(Number('3.4.5')); // NaN
- console.log(Number('3 4')); // NaN
- console.log(Number('2.3')); // 2.3
- console.log(Number('3a')); // NaN
- console.log(Number('')); // 0
- console.log(parseInt('')); // NaN
- console.log(parseFloat('')); // NaN
- console.log(Boolean(3)); // true
- </script>
- </body>
- </html>
-
三元运算符是一种简洁的条件表达式,格式为 条件 ? 表达式1 : 表达式2。如果条件为真,则返回表达式1的结果;否则返回表达式2的结果。
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE-edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- </head>
- <body>
- <script>
- // 判断一个数是正数还是负数
- var i = parseInt(prompt('请输入一个整数:'));
- alert(i === 0 ? '既不是正数,也不是负数' : i > 0 ? '正数' : '负数');
-
- // 判断一个年份是闰年还是平年
- var i_year = parseInt(prompt('请输入一个年份:'));
- alert(i_year % 4 === 0 && i_year % 100 !== 0 || i_year % 400 === 0 ? '闰年' : '平年');
-
- // 判断一个数是偶数还是奇数
- var i = parseInt(prompt('请输入一个整数:'));
- alert(i % 2 ? '奇数' : '偶数');
- </script>
- </body>
- </html>
-
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE-edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- </head>
- <body>
- <script>
- // 求一个三位数的和
- var i = parseInt(prompt('请输入一个三位的正整数:'));
- var h = parseInt(i / 100);
- var t = parseInt(i % 100 / 10);
- var a = i % 10;
- var sum = h + t + a;
- alert('和为:' + sum);
-
- // 创建对象
- var o_num = new Number(3);
- var i = 3;
- console.log(typeof o_num, typeof i); // 'object' 'number'
-
- var o_str = new String();
- console.log(typeof o_str); // 'object'
-
- var o_bool = new Boolean(true);
- console.log(typeof o_bool); // 'object'
-
- var obj = new Object();
- console.log(typeof obj); // 'object'
-
- var a; // undefined 基本数据类型的数据为空
- var obj = null; // 对象为空
-
- console.log(typeof 3); // 'number'
- console.log(typeof '3'); // 'string'
- console.log(typeof false); // 'boolean'
- console.log(typeof null); // 'object' null是一个不是对象的对象
- console.log(typeof undefined); // 'undefined'
- console.log(typeof NaN); // 'number' NaN是一个不是数字的数字
- console.log(typeof typeof 3); // 'string'
- </script>
- </body>
- </html>
-
为了巩固对运算符、数据类型转换和三元运算符的理解,下面提供一些练习题,并给出相应的答案。
- var i = parseInt(prompt('请输入一个整数:'));
- alert(i === 0 ? '既不是正数,也不是负数' : i > 0 ? '正数' : '负数');
-
- var i_year = parseInt(prompt('请输入一个年份:'));
- alert(i_year % 4 === 0 && i_year % 100 !== 0 || i_year % 400 === 0 ? '闰年' : '平年');
-
- var i = parseInt(prompt('请输入一个整数:'));
- alert(i % 2 ? '奇数' : '偶数');
-
- var i = parseInt(prompt('请输入一个三位的正整数:'));
- var h = parseInt(i / 100);
- var t = parseInt(i % 100 / 10);
- var a = i % 10;
- var sum = h + t + a;
- alert('和为:' + sum);
-
通过对运算符、数据类型转换和三元运算符的详细解析,我们不仅掌握了这些核心概念的基本用法,还了解了它们在实际编程中的应用场景。希望本文能够帮助读者更好地理解和运用 JavaScript 中的运算符和数据类型转换,提升编程能力。
在日常开发中,合理使用运算符和数据类型转换可以简化代码逻辑,提高代码的可读性和维护性。建议读者多加练习,熟悉各种运算符的特点和使用技巧,以便在实际项目中灵活运用。
以上内容涵盖了 JavaScript 中常见的运算符、数据类型转换及其应用,希望能对读者有所帮助。如果有任何问题或需要进一步讨论,请随时留言交流。