函数的基本使用

定义

定义一段代码,可以反复调用执行。

函数的声明

关键字function 函数名是自定义的

function 函数名(){
    ...
}

字面量的形式

把匿名的函数存在一个变量中,变量名就是函数名。

let variable = function(){
    ...
}

函数的调用

函数都是通过 函数名() 调用执行函数

函数的参数

函数存在参数:分为实参和形参

  • 形参:函数声明时传入的变量称为形参,形参相当于函数内声明的变量,可以在函数体中直接使用

  • 实参:函数调用时传入的变量成为实参,实参用来给形参赋值

  • 两者的关系:形参和实参是一一对应的

  • 形参多 实参少:多余的变量默认值是undefined

  • 形参少 实参多:多余的变量会被自动忽略

// a b 就是形参
function func(a, b){

}

// 1  2 就是实参
fun(1,2)

函数的返回值

函数可以指定返回值,通过return关键字进行返回,如果没有明确指定函数的返回值,则默认的返回值是undefined

return语句的作用:1.作为函数的返回值;2.终止代码的执行,return语句后面的代码将不再执行
function func(){
    ...
    return value;
}

函数对象

属性length

函数对象的属性length获取的是形参的个数

function func(a, b){}
// 获取的是形参的个数
let len = func.length;  // 2

参数arguments

arguments是函数参数对象,是伪数组,该对象存在一个属性length;获取的是实参的个数

// arguments 只存在于函数体内部
function func(a, b){
    // 获取的是实参的个数
    let len = arguments.length;
    // 通过索引值 获取具体的实参
    let num = arguments[index];
}
func(1,2)

方法

函数对象存在三个方法:call() apply() bind()

  • call(obj, args1, args2, ...): call() 方法使用一个指定的 this 值和单独给出的一个或多个参数来调用一个函数。

参数解析: obj:是一个对象; 修改this指向, 如果不需要修改this指向,则传入null; 后边是参数列表: 参数是一一罗列的

  • apply(obj, [args1, args2, ...]): apply() 方法调用一个具有给定this值的函数,以及以一个数组(或类数组对象)的形式提供的参数。

参数解析: obj:是一个对象; 修改this指向, 如果不需要修改this指向,则传入null; 第二个参数: 是一个参数列表,以数组的形式传递

  • bind(obj, args1, args2, ...): bind() 方法创建一个新的函数,在 bind() 被调用时,这个新函数的 this 被指定为 bind() 的第一个参数,而其余参数将作为新函数的参数,供调用时使用。

参数解析: obj:是一个对象; 修改this指向, 如果不需要修改this指向,则传入null; 后边是参数列表: 参数是一一罗列的

  • 区别: call() 和 apply() 调用执行原函数, bind() 返回一个新函数(和原函数一样)

function print(){}
// 调用执行函数
print.call()
print.apply()
// 得到新函数
let f = print.bind()
f()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值