简便运算符
name ++;//name值+1 (同-)
++ name;//name值+2
name +=5; //name值+5再赋值(同-、/、*)
求余数
17 % 2 = 1(17 是奇数
48 % 2 = 0(48是偶数
remainder(%)
转义字符串中的引号
在引号前面使用反斜杠(\
)来转义引号。
一个字符串在开头和结尾处有相同的引号
单引号和双引号的功能在 JavaScript 中是相同的
报错
SyntaxError: unknown: Unexpected token (1:73)
SyntaxError: unknown: Unterminated string constant. (1:14)——字符串内容没有结束 检查引号
SyntaxError: unknown: Missing semicolon. (1:15) ——分号缺少
SyntaxError: unknown: Identifier 'myStr' has already been declared. (2:6)
SyntaxError: unknown: Missing semicolon. (6:32)
TypeError: Cannot assign to read only property '0' of string 'Jello World'
SyntaxError: unknown: Invalid left-hand side in assignment expression. (7:19)
转义字符
\' | 单引号 |
\" | 双引号 |
\\ | 反斜杠 |
\n | 换行符 |
\r | 回车符 |
\t | 制表符 |
\b | 退格 |
\f | 换页符 |
字符串变量或字符串后用 += 运算符连接字符串
字符串变量或字符串后面写上 .length
来获得 String
的长度
字符串的不变性
字符串字面量 string literal 的各个字符不能被改变
字符串变量可重新赋值
获取字符串的倒数第 N 个字符
[name.lenth-n]
数组
左方括号开始定义一个数组,以右方括号结束,里面每个元素之间用逗号隔开
可以在数组中嵌套数组
数组名与方括号之间不应该有任何空格,比如array [0]
数组的条目是 可变的 并且可以自由更改,即使数组是用 const
声明的
const arr = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[[10, 11, 12], 13, 14]
];
arr[3];
arr[3][0];
arr[3][0][1];
\*arr[3] 为 [[10, 11, 12], 13, 14],
arr[3][0] 为 [10, 11, 12],
arr[3][0][1] 为 11*\
改变数组中数据
-
数组末尾添加数据
.push()
接受一个或多个参数(parameters),并把它压入到数组的末尾
-
数组末尾移除数据并返回这个元素
.pop()
(数值,字符串,甚至是数组)都可以被弹出来
-
数组的头部添加数据
.unshift()
-
数组的头部移除数据
.shift()
控制台上打印消息
console.log(" ")
定义函数
function 函数名(){
;
}
值传入函数
function 函数名(参数1,参数2){
;
}
函数名()\\名字和括号间不要有空格
函数传出值
function 函数名(参数1,参数2){
return 参数 ;
}
函数没有 return
语句的情况下,调用它时,该函数会执行内部代码,返回的值是 undefined
。
全局与局部
局部变量将会优先于全局变量。
使用返回值赋值
变量=调用函数
if 语句
当条件的计算结果为 true
,程序执行大括号内的语句。 当布尔条件的计算结果为 false
,大括号内的代码将不会执行。
function test (myCondition) {
if (myCondition) {
return "It was true";
}
return "It was false";
}
test(true);
test(false);
相对相等运算符 ==
判断两个数据是否相等
可以比较两个不同的数据类型,必须把一种类型转换为另一种类型。 这叫作 “类型强制转换”
1 == '1'\\true
"3" == 3\\true
严格相等运算符===
不会做类型转换
typeof
运算符
typeof 3\\返回 number
typeof '3'\\返回 string
不相等运算符!=
严格不相等运算符!==
不会做类型转换
大于运算符(>/>=)
在比较的时候,会转换值的数据类型
逻辑运算
- 且 &&
(num > 5 && num < 10)
- 或 ||
else/else if
注:else后没有条件 if后有括号
if (num > 10) {
return "Bigger than 10";
} else {
return "10 or Less";
}
if (num > 15) {
return "Bigger than 15";
} else if (num < 5) {
return "Smaller than 5";
} else {
return "Between 5 and 15";
}
switch
测试 case
值使用严格相等(===
)运算符进行比较
每个case的值,与变量的值进行比对,如果一致就执行该case后的代码。
多个不同的输入设置相同的结果
let result = "";
switch(val) {
case 1:
case 2:
case 3:
result = "1, 2, or 3";
break;
case 4:
result = "4 alone";
}
default
在找不到相匹配的 case
语句之后执行。 你可以把它看作是 if/else
链中最后的那个 else
语句。
串联的 if
/else if
语句改成 switch
语句
注:在条件句都为===情况下可改