// 2.3 函数表达式可以传递参数还可以有返回值,使用方法和前面具名函数类似let sum = function (x, y) { // 形参x=x||0y=y||0return x + y}let re = sum() // 实参console.log(re) // 3
function sum(x = 0, y = 0) {return x + y}console.log(sum()) // 0console.log(sum(undefined, undefined)) // 0console.log(sum(1, 2)) // 3
逻辑中断的使用场景
// 逻辑中断 && ||// 1. 逻辑与中断:如果左边为假,则中断,如果左边为真,则返回右边的值console.log(false && 1 + 2) // falseconsole.log(0 && 1 + 2) // 0console.log('' && 1 + 2) // ''console.log(undefined && 1 + 2) // undefinedconsole.log(true && 1 + 2) // 3 此处不会发生逻辑中断console.log(1 && 1 + 2) // 3 此处不会发生逻辑中断// 2. 逻辑或中断,如果左侧为真,则中断,如果左侧为假,则返回右边的值console.log(true || 1 + 2) // true 发生了中断console.log(1 || 1 + 2) // 1 发生了中断console.log(false || 1 + 2) // 3 此处不会发生逻辑中断// 3. 使用场景// function sum(x, y) {// return x + y// }// console.log(sum(1, 2)) // 3// console.log(sum()) // NaNfunction sum(x, y) { // x = undefined// x = undefined || 0// x = 1 || 0x = x || 0y = y || 0return x + y}console.log(sum()) // 0console.log(sum(1, 2)) // 3