JavaScript深度指南(非常全)-入门学习6

86 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第23天,点击查看活动详情

函数基础

列举几个例子先

    /**
        n1 n2 n3
        1 1 2 3 5 8
        使用for循环打印出这种结果
       **/
    var n = window.prompt('请输入第几位');
    var n1 = 1,
        n2 = 1,
        n3;
    for (var i = 2; i < n; i++) {
        n3 = n1 + n2;
        n1 = n2;
        n2 = n3;
    }
    console.log(n3)

93c50ada7823f45a3af97b161b08ad0.png

fe72473eab6753e40f7dcdb2daeed63.png

这个函数基本还是蛮重要的,函数有着高内聚,低耦合的作用 当我们遇到重复性的代码时,就可以使用函数 函数的基本写法 => 函数声明

function test(参数) {
    函数的执行语句
}

函数命名规则:由数字、字母、下划线、$符号组成, 不能以数字为开头,区分字母大小写, 不能使用关键字和保留字

函数声明的时候,函数体并不会执行,只有函数被调用才会被执行

函数的组成部分 function 函数名 函数(可选) 返回值 return

//函数申明
function test() {
    var a = 1,
        b = 2;
    console.log(a, b);//1 2
}
test()
 //匿名函数表达式 函数字面量
    var test = function() { // 匿名函数
        var a = 1,
            b = 2;
        console.log(a, b)
    }

什么是形参,实参

 var a = Number(window.prompt('a'));
   var b = Number(window.prompt('b'));
   //(a, b) 占位 => 形式上占位 => 形式参数 形参
   function test(a, b) {
    console.log(a + b)
   }
   //这里传值的话 就是实参
   test(a, b)

形参和实参数量可以不相等

function test(a, b) {
    console.log(a, b, c); //会报错
}
test(1, 2, 3)

形参个数多于实参

function fn(a,b){
    //var a=1,b;
    console.log(a,b);
}
fn(1);
//函数会按照顺序 给形参赋值  没有赋值的形参 默认值为undefined

实参个数多于形参

function fn(a,b){
    //var a=1,b=2;
    console.log(a,b);
}
fn(1, 2, 3);
//函数会按照顺序 给形参赋值  多余 的实参 就直接舍弃掉

一个函数被调用时,累加他的实参值

function sum() {
    var a = 0;
    for (var i = 0; i < arguments.length; i++) {
        a += arguments[i]
    }
    console.log(a); //31
}
sum(1, 2, 3, 4, 5, 6, 10);