函数
函数的基本使用
声明:
function 函数名(参数列表){
函数体
}
举例:
<body>
<script>、
/*函数声明*/
function printArr() {
for(let i = 1;i <= 9 ; i++){
for(let j = 1;j <=i; j++){
document.write(`<span>${j} X ${i} = ${i * j}</span> `)
}
document.write('<br>')
}
}
/*函数调用*/
printArr()
</script>
</body>
我们再来看一个例子,我要求任意区间内所有整数值的和
<body>
<script>
function getSum(start = 0,end = 0){
let sum = 0
for(let i = start; i <= end;i++){
sum +=i
}
console.log(sum)
}
let start = +prompt('请输入开始值')
let end = +prompt('请输入结束值')
getSum(start,end)
</script>
</body>
函数返回值
有些函数,我们需要获得函数的结果,再进行更多操作,这里就需要函数返回一个值。
语法
return 数据
示例:
<body>
<script>
function fn() {
return 20
}
let re = fn()
document.write(fn())
document.write(re)
</script>
</body>
注意:return
也是函数结束的标志哦
那么我们能不能返回多个值呢
<body>
<script>
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
function Max(arr) {
let max = 0
for (let i = 0; i < arr.length; i++) {
if(arr[i] > max){
max = arr[i]
}
}
return max
}
function Min(arr) {
let min = arr[0]
for (let i = 0; i < arr.length; i++) {
if(arr[i] < min){
min = arr[i]
}
}
return min
}
function seek(arr) {
let max = Max(arr)
let min = Min(arr)
return [max,min]
}
let re = seek(arr)
console.log(`数组的最大值是${re[0]}`)
console.log(`数组的最小值是${re[1]}`)
</script>
</body>
我们可以 通过数组的形式来返回多个值,当然用数组来接收。
匿名函数
语法
function(){}
匿名函数是无法直接使用的,使用方法:
1.函数表达式
let fn = function(){
}
例子:
<body>
<script>
let fn = function(){
console.log('我是函数表达式');
}
fn()
</script>
</body>

当然我们也可以像上面一样增加参数,那么和具名函数有什么区别呢
剧名函数的调用可以写到任何位置,函数表达式必须先写表达式后调用
虽然现在没有什么用途,后面学webAPI会用。
2.立即执行函数
场景:避免全局变量之间的污染
(function(形参){
函数体
})(参数)
多个立即执行函数之间必须用分号隔开
逻辑中断
当然只存在于&&
和||
种,当满足一定条件可以让右边的代码不再执行
也就是左边成立右面不执行,左面错误右边执行
举例:
function fn(x,y){
x = x || 0
y = y || 0
console.log(x + y)
}
fn(1,2)
转换为布尔型
记忆:
0,underfined,'', null,false,NaN
转换为布尔值为false,其余为true