表达式和语句
- 表达式:一般都有值,如
- 1+2;表达式的值为3
- add(1, 2); 表达式的值为函数的返回值
- console.log; 表达式的值为函数本身
- console.log(3); 表达式的值为undefined
- 语句: 可能有值,也可能没有,一般会改变环境(声明、赋值),如 var a = 1;
标识符
- 必须以Unicode字母或 _ 或 $ 开头
- 可以包括Unicode字母、_ 、$、数字
- 不可以用系统的关键字、保留字
- 变量名是标识符:
- var _ = 1;
- var $ = 1;
- var 今天 = ‘开心’;
变量声明
var a = 1;
let a = 1;
const a = 1;
a = 1;
数据类型
- number : 64位浮点数
- string :每个字符占两个字节
- bool :true/false
- symbol
- undefined
- null
- object
- 五个falsy值:相当于false又不是false的值,undefined, null, 0, NaN, ‘’
- 类型转换
- number -> string: String(n), n + ‘’
- string -> number: Number(s), parseInt(s)/parseFloat(s), s - 0
- x -> bool: Boolean(x), !!x
- x -> String: String(x), x.toString()
流程控制
- if else 语句
if (表达式) {
语句
} else if (表达式) {
语句
} else {
语句
}
if(a){
alert(a);
}else if(b){
alert(b);
}else{
alert(c);
}
// if与&&的转换:
if(1>2){
alert(3);
}
// 等价于
1>2 && alert(3);
- while
while (表达式) {
语句
}
简化的for循环
等价于 for(;条件;){} - for 语句
for(var i = 0; i < 10; i++){
document.write('a');
}
// switch: js中可接收任意类型数据
var a = 1;
switch(a) {
case 1:
console.log("number");
break;
case "a":
console.log("string");
break;
case true:
console.log("true");
break;
case null:
console.log("null");
break;
case undefined:
console.log ("undefined");
break;
}
运算符
- 问好冒号表达式
1>2? a:b - && 短路
A && B && C
取第一个假值或最后一个值 - || 短路
A || B || C
取第一个真值或最后一个值
JS入门教程