目录
1.数据类型
1.1. 数字
- 在
JavaScript
中,数字是最基本的数据类型。
JavaScript
中的数字是不区分整型(int
)和浮点型(float
)的。
- 记住这一句话就可以了:在
JavaScript
中,所有变量都是用var
声明。
- 举例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script>
var n = 1001;
document.write(n);
</script>
</head>
<body></body>
</html>
1.2. 字符串
- 在
JavaScript
中,字符串都是用英文单引号或英文双引号(注意都是英文)括起来的。
- 单引号括起来的一个或多个字符,如:
'我'
'Gok'
"1'1'1"
- 双引号括起来的一个或多个字符,如:
"我"
"Gok"
- 单引号括起来的字符串中可以包含双引号,如:
'我来自"Gok" '
- 双引号括起来的字符串中可以包含单引号,如:
"我来自'Gok'"
- 举例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script>
var str = "Gok,给"+'"你'+'初恋般的感觉~"';
document.write(str);
</script>
</head>
<body></body>
</html>
- 用parseInt()方法将字符串转换为数字型,用于接受数据时的转换。
1.3. 布尔值
- 在
JavaScript
中,数字和字符串这两个类型的值可以有无数多个,但是布尔类型的值只有 2 个:
-
- true
-
- false
- 布尔值最大的用途就是:选择结构的条件判断。
- 举例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script>
var a = 10;
var b = 20;
if (a < b) {
document.write("a小于b");
}
</script>
</head>
<body></body>
</html>
1.4. 未定义值
- 在
JavaScript
中,未定义值,指的是如果一个变量虽然已经用var
来声明了,但是并没有对这个变量进行赋值,此时该变量的值就是“未定义值”。
- 未定义值用
undefined
表示。
- 举例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script>
var n;
document.write(n);
</script>
</head>
<body></body>
</html>
1.5. 空值
- 数字、字符串等数据在定义的时候,系统都会分配一定的内存空间。
- 在
JavaScript
中,空值用null
表示。
- 如果一个变量的值等于
null
,如var n = null
,则表示系统没有给这个变量n
分配内存空间。
null
跟undefined
非常相似,但是也有一定的区别,这里我们不需要深入。
2. 运算符
- 在
JavaScript
中,要完成各种各样的运算,是离不开运算符的。
- 不过对于
JavaScript
来说,我们需要遵循计算机语言运算的一套方法。
- 在
JavaScript
中,运算符指的是变量或值进行运算操作的符号。
- 其中,常见的运算符有以下 5 种。
2.1. 算术运算符
- 在
JavaScript
中,算术运算符一般用于实现“数学”运算,包括加、减、乘、除等,如下表所示。
运算符 | 说明 | 举例 |
| 加 | 10+5 //返回 15 |
| 减 | 10-5 //返回 5 |
| 乘 | 10*5 //返回 50 |
| 除 | 10/5 //返回 2 |
| 求余 | 10%4 //返回 2 |
| 自增 | var i=10;i++; //返回 11 |
| 自减 | var i=10;i--; //返回 9 |
2.1.1. 加法运算符
- 在
JavaScript
中,加法运算符并非想象中那么简单,我们需要注意 3 点。
数字 + 数字 = 数字
字符串 + 字符串 = 字符串
字符串 + 数字 = 字符串
- 也就是说,当一个数字加上另外一个数字时,运算规则跟数学上的相加一样,例如:
var num = 10 + 5; //num 的值为 15
- 当一个字符串加上另外一个字符串时,运算规则是将两个字符串连接起来,例如:
var str = "G" + "ok"; //str 的值为 Gok
- 当一个字符串加上一个数字时,
JavaScript
会将数字变成字符串,然后再连接起来,例如:
var str = "今年是" + 2023; //str 的值为今年是2023
2.1.2. 自增运算符
- 双加号(
++
)是自增运算符,表示在原来的值的基础上再加上 1。
i++
等价于i=i+1
,自增运算符有以下两种情况:
-
i++
指的是在使用i
之后,再让i
的值加上 1:
i = 1;
j = i++;
-
++i
指的是在使用i
之前,先让i
的值加上 1:
i = 1;
j = ++i;
2.1.3. 自减运算符
- 双减号(
--
)是自减运算符,表示在原来的值的基础上再减去 1。
- 自减运算符同样也有以下两种情况:
-
i--
指的是在使用i
之后,再让i
的值减去 1:
i = 1;
j = i--;
-
--i
指的是在使用i
之前,先让i
的值减去 1:
i = 1;
j = --i;
2.2. 赋值运算符
- 在
JavaScript
中,赋值运算符用于将右边表达式的值保存到左边的变量中去,如下表所示:
运算符 | 举例 |
| var str='Gok' |
| var a+=b 等价于 var a=a+b |
| var a-=b 等价于 var a=a-b |
| var a=b 等价于 var a=ab |
| var a/=b等价于var a=a/b |
- 举例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script>
var a = 10;
var b = 5;
a += b;
b += a;
document.write("a 的值是: " + a + "<br/>b 的值是: " + b);
</script>
</head>
<body></body>
</html>
2.3. 比较运算符
- 在
JavaScript
中,比较运算符用于将运算符两边的值或表达式进行比较:
-
- 如果比较结果是对的,则返回
true
;
- 如果比较结果是对的,则返回
-
- 如果比较结果是错的,则返回
false
。
- 如果比较结果是错的,则返回
- 比较运算符如下表所示:
运算符 | 说明 | 举例 |
| 大于 | 2>1 //返回 true |
| 小于 | 2<1 //返回 false |
| 大于等于 | 2>=2 //返回 true |
| 小于等于 | 2<=2 //返回 true |
| 等于 | 1==2 //返回 false |
| 不等于 | 1!=2 //返回 true |
- 举例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script>
var a = 10;
var b = 5;
var n1 = a > b;
var n2 = a == b;
var n3 = a != b;
document.write("10>5:" + n1 + "<br/>");
document.write("10==5:" + n2 + "<br/>");
document.write("10!=5:" + n3);
</script>
</head>
<body></body>
</html>
2.4. 逻辑运算符
- 在
JavaScript
中,逻辑运算符用于执行布尔值的运算,它常常和比较运算符结合在一起使用。
- 常见逻辑运算符有3种,如下表所示:
运算符 | 说明 |
| “与”运算 |
` | ` |
| “短路与”运算 |
` | |
| “非”运算 |
2.4.1. &&
- 在
JavaScript
中,与运算用双与号(&&
)表示。
- 如果双与号(
&&
)两边的值都为true
,则结果返回true
;如果有一个为false
或者两个都为false
,则结果返回false
。
真&&真 → 真
真&&假 → 假
假&&真 → 假
假&&假 → 假
- 举例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script>
var a = 10;
var b = 5;
var c = 5;
var n = a < b && b == c;
document.write(n);
</script>
</head>
<body></body>
</html>
2.4.2. ||
- 在
JavaScript
中,或运算用双竖杠(||
)表示。
- 如果双竖杠(
||
)两边的值都为false
,则结果返回false
;如果有一个为true
或者两个都为true
,则结果返回true
。
真||真 → 真
真||假 → 真
假||真 → 真
假||假 → 假
- 举例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script>
var a = 10;
var b = 5;
var c = 5;
var n = a < b || b == c;
document.write(n);
</script>
</head>
<body></body>
</html>
2.4.3. !
- 在
JavaScript
中,非运算用英文叹号(!
)表示。非运算跟与运算、或运算不太一样,非运算操作的对象只有一个。
- 当英文叹号(
!
)右边的值为true
时,最终结果为false
;当英文叹号(!
)右边的值为false
时,最终结果为true
。
!真 → 假
!假 → 真
- 举例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script>
var a = 10;
var b = 5;
var c = 5;
var n = !(a < b) && !(b == c);
document.write(n);
</script>
</head>
<body></body>
</html>
- 对于与运算、或运算和非运算,我们可以总结出以下 5 点:
-
true
的!
为false
,false
的!
为true
。
-
a & b
:a
、b
全为true
时,结果为true
,否则结果为false
。
-
a | b
:a
、b
全为false
时,结果为false
,否则结果为true
。
-
a && b
:系统会先判断a
,再判断b
。如果a
为false
,则系统不会再去判断b
。
-
a || b
:系统会先判断a
,再判断b
。如果a
是true
,则系统不会再去判断b
。
2.5. 条件运算符
- 除了上面这些常用的运算符,
JavaScript
还为我们提供了一种特殊的运算符:条件运算符。
- 条件运算符,也叫三目运算符。
- 在
JavaScript
中,条件运算符用英文问号(?
)表示。
- 语法:
var a = 条件 ? 表达式1 : 表达式2;
- 举例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script>
var result = 2 > 1 ? "小芳" : "小美";
document.write(result);
</script>
</head>
<body></body>
</html>