JS的表达式与语句
·add(1,2)表达式的值为函数的返回值
(值和返回值不一样 只有函数有返回值 函数的值就是返回值)
·console.log 表达式的值为函数本身
console.log(3)表达式的值为多少?
答:是undefined 与add(1,2)类似 都是函数返回值 console.log函数的返回值是undefined
二者的区别
表达式一般都有值,语句也可能有也可能没有
语句一般会改变环境(声明、赋值)
标识符的规则
·标识符第一个字符,不可以用数字开头,可以是 Unicode字母 或 $ 或 _ 或中文
·后面的字符,除了上面的所说,可以有数字。
意思为:无效或意外的标记
空格
大部分空格没有实际意义
大部分回车的时候也不影响
只有一个地方不能加回车 就是return后面 会默认加上undefined
if else语句
if(表达式){
语句1
}
else{
语句2
}
{}在语句只有一句的时候可以省略,不建议这样做
举一个例子,程序最后会打出什么:
a = 1;
if(a === 2);
console.log('a');
console.log('a等于2');
1、会打出 a等于2 2、什么都不打
因为if语句 只会管到第一句 不要因为缩进以为if包含两句话
如果加上逗号
a = 1;
if(a === 2);
console.log('a'), console.log('a等于2');
表示这句话没完,会执行,也就是什么也不打出来
最推荐使用的写法:
if (表达式) {
语句
}
else if (表达式) {
语句
}
else {
语句
}
次推荐使用的写法
function fn(){
if(表达式){
return 表达式
}
if(表达式){
return 表达式
}
return 表达式
}
永远不要省略花括号 保持严谨
&&短路逻辑
A && B && C && D 取第一个假值或D
并不会取true/false
用一张图表示:
总结来说:如果前面为假不看后面 前面为真不看后面是不是也为真
console && console.log && console.log('hi')
这段代码意思为:如果console存在,就看console.log是否存在,console.log也存在,就看console.log('hi')是否存在
||短路逻辑
A || B || C || D 取第一个真值或D
并不会取true/false
a || b 等价于:
if (!a){
b
} else{ }
如果a不是真 就执行后面的b 等于a就什么都不做
经常用于:
a = a || 200
if(a){
a=a;
} else {
a=200 //保底值
}
当不确定一个数是否存在的时候,如果a存在,则把a赋值给a,不存在则给赋值200,为保底值,不会等于其他乱七八糟的值