逻辑短路
<body>
<script>
let res = 10 && null
console.log(res)
let res1 = 10 || null
console.log(res1)
console.log(20 && null && undefined)
console.log(20 || null || undefined)
function getSum(sum1, sum2){
num1 = num1 || 1
num2 = num2 || 2
let sum = num1 + num2
console.log(sum)
}
</script>
</body>

1.函数默认参数,在开发中使用不多。(了解后面很多js框架函数默认参数底层原理)
2.函数默认参数 使用逻辑运算符短路运算(逻辑中断)
2.1 短路运算: 左边式子就可以决定结果,右边式子不执行
&& : 一假则假
|| : 一真则真
! : 取反(没有短路运算,因为只有一个式子)
2.2 短路规则:
&& : 找假。 左边式子值可以转成false,则无条件返回左边式子的值,右边不执行。
反之无条件返回右边式子的值。
|| : 找真。 左边式子值可以转成true,则无条件返回左边式子的值,右边不执行。
反之无条件返回右边式子的值。
函数执行流程(举例:买臭豆腐)
1.传参(付钱)
2.执行函数体(老爷爷炸臭豆腐)
3.返回值(老爷爷把臭豆腐给你,至于你怎么吃,给谁吃,老爷爷不管,给你就行了)
函数返回值
4.函数返回值 : 函数 传递数据 给调用者
4.1 传 : 函数
function 函数名(){ return 值 }
4.2 收 : 调用者
let 变量名 = 函数名()
4.3 注意点
(1)函数return关键字后面的代码不会执行的
* 只要有return关键字,函数体立即结束执行。
(2)如果函数没有return,则默认返回值是undefined