JavaScript 函数

函数的定义

函数用来完成特定任务的代码块
语法 函数的声明
function 函数名(参数列表){业务逻辑单元 如数组的排序 奇偶数的判定等等 }
下面的这种是匿名函数                                                                                                            function(参数列表){业务逻辑单元 如数组的排序 奇偶数的判定等等}
函数的调用方法 ->函数名()                                                                                                          如:sum1();

 //计算两个数字的和
    var num1 = 1;
    var num2 = 2;
    var result = num1+num2;
/*
    以上代码的写法无法实现代码的复用,如果后续还需要计算两个数字的和 
    以上代码还需要再写一次 造成代码的冗余,这时可以考虑将代码进行封装
    写成函数的形式  因为使用函数可以实现代码的复用
*/

function add(num1,num2){
    var res = num1+num2
    console.log(res)
}

//调用函数  函数不会再页面加载后自动执行  需要手动的调用
 add(1,2);

//为了后续能使用计算的结果 可以使用return将结果返回

function add(num1,num2){
    var res = num1+num2
    return res
}

var a = add2(1,2);
console.log(a+2); //5

//利用函数 实现简易计算器

function add(num1,num2){

    return num1/1+num2/1;

}
function sub(num1,num2){

    return num1-num2;

}
function mult(num1,num2){

    return num1*num2;

}
function div(num1,num2){

    return num1/num2;

}

let num1 = prompt('请输入第一个数')
let num2 = prompt('请输入第二个数')
let operator = prompt('请输入运算符')


switch(operator){
    case  '+':
        alert(add(num1,num2))  
        break;
    case  '-':
        alert(sub(num1,num2))
        break;
    case  '*':
         alert(mult(num1,num2))
        break;
    case  '/':
         alert(div(num1,num2))
        break;
    default:
        console.log('请输入正确的运算符!')
}

递归

函数的内部自己调用自己本身,默认是一个死循环,因此在使用递归的时候需要添加限制条件

function say(){
    alert('hello')
    say()
}
say()

var i = 0
function say(){
    i++
    alert('hello')
    if(i===3){
       return; //结束函数体的执行 
    }
    say()
}
say();

 使用函数实现数组排序代码的复用

案例:

1.提示用户输入一个数组的长度

2.用户输入数组中的数值 ,要保证用户输入的值是数值

3.将用户输入值组成的数组排序

//获取数组

 var len = prompt('请输入数组的长度')
 var array = new Array();
do{
    var num = prompt('请输入数字')
    if(isNaN(num)){
        continue
    }
    array.push(num);
}while (array.length<len)

//函数实现代码复用
function getArray(length){
    var array = new Array();
    do{
        var num = prompt('请输入数字')
        if(isNaN(num)){
            continue
        }
        num = num*1;
        array.push(num);
    }while (array.length<length)

        return array;
}

//数组排序
function sortArray(ary){
    var array = ary
    for (var i = 0; i <array.length-1 ; i++) {
        for (var j = 0; j <array.length-i-1; j++){
            if(array[j]>array[j+1]){
                var temp = array[j]
                array[j] = array[j+1]
                array[j+1] = temp
            }
        }
    } 
    return array;
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值