一. 表达式与语句
-
表达式
1. 1+2 是表达式,值为3
2. add(1,2)表达式的值为函数的返回值
3. 1+2 是表达式,值为3
4. console.log表达式的值为函数本身
5. console.log(3)表达式的值为undefined
-
语句
var a=1是一个语句
-
区别
表达式一般都有值,语句可能有也可能没有
语句一般会改变环境(声明,赋值)
但是上面两句话并不绝对
空格和回车注意事项:
var a =1
var a = 1
加空格没有本质区别
``
var
a
=
1
回车不会改变
但是只有一个地方不能加回车,就是return后面
二. 标识符
-
规则
-
第一个字符,可以是Unicode字母(包括拉丁文等)或$或_或中文
-
后面的字符,除了以上,还有数字
var _=1
var $=1
var _____=6
var 你好='hi'
三. 区块block
把代码块包在一起
{
let a=1
let b=2
}
四. if语句
最推荐的写法
if(表达式){
语句
}else if(表达式){
语句
}else{
语句
}
次推荐的写法
function fn(){
if(表达式){
return 表达式
}
if(表达式){
return 表达式
}
return 表达式
}
五. switch语句
switch(fruit){
case "banana":
// ...
break;
case "apple":
// ...
break;
default:
// ...
}
大部分时候不要省略break
小部分时候可以利用break
switch(num){
case 1:
case 3:
case 5:
console.log("输出单数");
break;
case 2:
case 4:
case 6:
console.log("输出偶数");
break;
}
用break可以分类
六. 问号冒号表达式
(表达式1)?(表达式2):(表达式3) 等价于
if(表达式1){
表达式2
}else{
表达式3
}
七. && 和 ||
&&
window.f1 && console.log("f1存在")
等价于
if(window.f1){
console.log("f1存在")
}
若 A&&B&&C&&D
则表达式的值为最后一个假值或者 D
console && console.log && console.log ("hi")
判断函数是否存在,若存在,则执行
||
a || b
等价于
if(!a){
b
}
若 A||B||C||D
则表达式的值为最后一个真值或者 D
a= a || 100
等价于
if(a){
a=a
}else{
a=100 //保底值
}
八.循环
while
while(判断表达式){
循环体
}
for
for(初试化表达式:判断表达式:循环必执行表达式){
循环体
}
break 和continue
退出整个循环 和 退出当前循环,继续下个循环
九.label语句
作一个标记,可搭配循环使用
top:
for (i = 0; items.length; i++)
for (j = 0; j < tests.length; i++)
if (!tests[j].pass(items[i])) {
allPass = false;
break top;
}
退出大循环