表达式和语句
- 表达式:一般都有值,如
- 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入门教程