3.函数

一些应该掌握的知识点

  • 函数的创建

    • 函数创建有三种形式:函数声明、函数表达式(又称函数字面量)、匿名函数
    • 创建函数表达式的过程并不是函数声明,而是变量声明
    • 函数声明和函数表达式的区别:解析器会先读取函数声明,并使其在执行任何代码之前可以访问;而函数表达式则必须等到解析器执行到它所在的代码行才会真正被解释执行
    • 创建函数时函数中声明的变量只在函数调用过程中起作用
  • 一个函数声明示例

function add (a, b) { //声明一个名为add的函数并设置a和b两个形参
    var c = a + b;
    document.write('a+b的值为',c,'<br>');
    console.log(arguments);
}
alert('计算a+b的值')
var a = parseInt(window.prompt('a'));
var b = parseInt(window.prompt('b'));
add (a, b);//调用并执行函数
  • 一个函数表达式示例
var Add = function () { //声明一个变量,声明一个匿名函数并赋值给所声明的变量
    for (var i = 0; i < arguments.length; i++) { //arguments即实参
        var sum =+ arguments[i];
    }
    return sum;
}
a = Add (10);
b = Add (10, 20);
c = Add (10, 20, 30);
document.write(a, ' ', b, ' ', c);





一些练习

  • 创建一个函数,使调用该函数时,给出三种动物的叫声,执行函数时输入其中一种动物就显示相应动物的叫声
function animalScream (animal) {
    switch (animal) {
        case 'cat': 
            document.write('meow');
            break;
        case 'dog':
            document.write('wang');
            break;
        case 'duck':
            document.write('ga ga');
            break;
        default:
            document.write('he he');
    }
    document.write('<br>')
}
animalScream(window.prompt('请从"cat",dog","duck"三种动物中选一个'));
  • 创建一个函数,使调用该函数时,输入一个正整数,则可输出该数的反向序列中文大写字串列
function reverseTransfer (numStr) {
    var arr = numStr.split('');
    var reArr = arr.reverse();
    var str = '';
    for (var i = 0; i < reArr.length; i++) {
        switch (reArr[i]) {
            case '1':
                str += '壹';
                break;
            case '2':
                str += '貳';
                break;
            case '3':
                str += '叁';
                break;
            case '4':
                str += '四';
                break;
            case '5':
                str += '伍';
                break;
            case '6':
                str += '陆';
                break;
            case '7':
                str += '柒';
                break;
            case '8':
                str += '捌';
                break;
            case '9':
                str += '玖';
                break;
            case '0':
                str += '零';
                break;
        }
    }
    document.write(numStr,'的反向序列中文大写字串列为',str);
    document.write('<br>');

}
reverseTransfer(window.prompt('输入一正整数,将输出该数的反向序列中文大写字串列'));
  • 创建一个函数,使调用该函数时,输出所输入的正整数的阶乘
function nStage (n) {
    if (n == 1) {
        return 1;
    }
    return n * nStage(n - 1);
}
document.write(nStage(window.prompt('你希望输出哪个正整数的阶乘?')));
document.write('<br>');
  • 创建一个函数,使调用该函数时,输出斐波那契数列所求的一项
function Fibonacci_Seq (k) {
    if (k == 2 || k == 1) {
        return 1;
    }
    return Fibonacci_Seq(k - 1) + Fibonacci_Seq(k - 2);
}
document.write(Fibonacci_Seq(window.prompt('你希望输出斐波那契数列的第几项?')));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值