JavaScript-函数

一、函数两种命名:

1.函数关键字定义

    function(){
        函数体;
    }
    console.log(function());

2.函数表达式命名

    var fun=function(){
        函数体;
    }
    console.log(fun ());

二者区别:1.fun是变量名,不是函数名;

    2.函数表达式命名和声明变量类似,区别在于该变量存放的是函数

    3.函数表达式也可以进行传参

二、函数案例

1.求两个数中最大的一个

function getMax(num1, num2) {
        var max = num1 > num2 ? num1 : num2;
        return max;
    }
    var num1 = prompt('请输入运算的第1个数:');
    var num2 = prompt('请输入运算的第2个数:');
    var ret = getMax(num1, num2);
    console.log(ret);

 2.求3个数中最大的一个 如输入10,12,11

function getMax(arr) {
        var max = arr[0];
        for (var i = 0; i < arr.length; i++) {
            if (max < arr[i]) {
                max = arr[i];
            }
        }
        return max;
    }
    var arr = [];
    arr[0] = prompt('请输入运算的第1个数:');
    arr[1] = prompt('请输入运算的第2个数:');
    arr[2] = prompt('请输入运算的第3个数:');
    ret = getMax(arr);
    console.log(ret);

3.判断素数

function getSu(num) {
        for (var i = 2; i < num / 2; i++) {
            if (num % i == 0) {
                break;
            }
        }
        if (i >= num / 2) {
            return (num + '是素数');
        }
        else {
            return (num + '不是素数');
        }
    }
    var num = prompt('请输入需要判断的数:');
    var ret = getSu(num);
    console.log(ret);

 

 

4.输入任意两数和任意两字符,进行简单计算器运算

function calculate(arr) {
        var num1 = arr[0];
        var fu = arr[1];
        var num2 = arr[2];
        var ret;
        if (arr[1] == '+') {
            ret = parseInt(num1) + parseInt(num2);
        }
        if (arr[1] == '-') {
            ret = num1 - num2;
        }
        if (arr[1] == '*') {
            ret = num1 * num2;
        }
        if (arr[1] == '/') {
            ret = num1 / num2;
        }
        return (num1 + fu + num2 + '=' + ret);
    }
    var arr = [];
    arr[0] = prompt('请输入运算的第1个数:');
    arr[1] = prompt('请输入运算符:');
    arr[2] = prompt('请输入运算的第2个数:');
    ret = calculate(arr);
    console.log(ret);

要注意,进行加运算要转换类型,不然就会出现下列错误:

正确如下:

三、关于arguments

arguments存放了传过来的所有实参,是以伪数组的形式来展示的,每个函数都内置了该对象,它有:

1.具有数组length的特性,

2.按照索引的方式存储的;

3.它没有真正数组的一些方法如pop,push等。下面是运用arguments的一些例子:

例子1:求任意长度数组的最大值

function getMax() {
        var max = arguments[0];
        for (var i = 0; i < arguments.length; i++) {
            if (max < arguments[i]) {
                max = arguments[i];
            }
        }
        return max;
    }
    console.log(getMax(1, 2, 3));
    console.log(getMax(1, 7, 4, 6, 3));
    console.log(getMax(2, 1, 8, 6, 7, 10));

 

例子2:函数实现数组反转

function reverse(arr) {
        for (var i = 0; i < arr.length / 2; i++) {
            var temp = arr[i];
            arr[i] = arr[arr.length - 1 - i];
            arr[arr.length - 1 - i] = temp;
        }
        return (arr);
    }
    arr1 = [1, 2, 3, 4, 5];
    arr2 = [5, 2, 3, 9];
    console.log(reverse(arr1));
    console.log(reverse(arr2));

例子3:函数实现冒泡排序,以升序为例

function sort(arr) {
        for (var i = 0; i < arr.length-1; i++) {
            var max = arr[i];
            for (var j = i; j < arr.length - 1 - i; j++) {
                if (arr[j] > arr[j + 1]) {
                    var temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
        return (arr);
    }
    arr1 = [7, 2, 5, 8, 9];
    arr2 = [5, 1, 3, 6, 8, 10];
    console.log(sort(arr1));
    console.log(sort(arr2));

例子4:函数实现判断闰年

function isRunYear(year) {
        if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
            return (year + '是闰年');
        }
        else {
            return (year + '不是闰年');
        }
    }
    console.log(isRunYear(2000));
    console.log(isRunYear(2001));

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值