有学有练才叫学习:学而不思则罔,思而不学则殆:学而不习,纸上谈兵,习而不进,画地为牢!

js 函数定义与调用

javascript cat 11个月前 (11-18) 36次浏览 已收录 0个评论 扫描二维码

函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块、

格式

// 1、函数声明
function 函数名(形参1, 形参2, ...) {
    代码块
}

// 2、函数表达式
var 函数名 = function (形参1, 形参2, ...) {
    代码块
}

// 函数调用:函数名(实参1, 实参2, ...);

函数的参数

形参:在声明函数时,函数中一些不确定的值,我们可以先定义一个变量表示,这个变量我们就称之为形参。每一个形参都是一个变量声明,只不过省略了 var,但是这个时候的形参并没有值。

实参:在调用函数时,如果函数声明时有参数,就可以在括号中传入具体的值,这个叫实参。

1、实参和形参个数不等

如果实参比形参少,则没有匹配上的形参值为undefined

如果实参比形参多,则多的实参也白多

function fn(a, b) {
    console.log(a, b);
}

fn(3, 5);
fn(7);
fn(10, 20, 30);

2、arguments

它是实参的集合,存在于函数的里面,是一个对象,一个类数组、伪数组,有长度,有下标,可以通过下标获取某一个

function fn() {
    // 它是实参的集合,存在于函数的里面,是一个对象,它是一个类数组、伪数组,有长度,有下标,可以通过下标获取某一个
    console.log(arguments); // [3, 5]
    console.log(arguments.length);
    console.log(typeof arguments); // 'object'

    console.log(arguments[0]);
    console.log(arguments[1]);
}

// fn(3, 5);
// fn(8, 9);

// -------------------------------------
// 案例:求不定参数的和
// function add(a, b, c) {
//     console.log(a + b + c);
// }
// add(3, 5);
// add(5, 6, 7);


function add() {
    var num = 0;
    for (var i = 0; i < arguments.length; i++) {
        // console.log(arguments[i]);
        num += arguments[i];
    }
    console.log(num);
}
add(3, 5);
add(5, 6, 7);
add(1, 2, 3, 2, 1);

3、函数参数的类型

函数的参数可以是任何数据类型

// 函数的参数可以是任意数据类型,包括函数
function fn(a) {
    console.log(typeof a);
}
fn(3); // number
fn('ab'); // string
fn(true); // boolean
fn(null); // object
fn(); // undefined

fn([]); // object
fn({}); // object
fn(function () { }); // function
喜欢 (0)
cat
关于作者:
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址