函数上下文this和参数列表arguments介绍

本文介绍了JavaScript中this和arguments的使用方式及其特点。this指代函数执行时的上下文对象,随调用方式不同而变化;arguments则是一个类数组对象,用于收集函数调用时的所有实际参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在调用函数时,浏览器每次都会传递传递两个隐含的参数,一个是this,一个是arguments。

this

函数的上下文对象,不同的情况会有不同的值。

  • 以函数的形式调用,this永远都是Window对象。
    在这里插入图片描述

  • 以方法的形式调用,this就是调用该方法的对象。

  • 以构造函数的形式调用,this就是新创建的对象。
    在这里插入图片描述

  • 使用call和apply调用时,可以指定对象。

call()和apply()函数:

  • 这两个方法都是函数对象的方法,需要通过函数对象来调用。
  • 当函数调用call()和apply()都会运行该函数。
    在这里插入图片描述
    上图目前三个具有一样的效果。

但是call和apply可以指定第一个参数为this对象。
在这里插入图片描述
call方法和apply方法的区别是,call方法可以把参数在第一个参数之后依次传递,而apply要以数组对象的形式传递。
在这里插入图片描述

arguments

封装实参的对象arguments。

  • 是一个类数组对象,可以通过索引获取数据,也可以获取长度。
  • 在调用函数时,所传递的实参都会在arguments中保存。
  • arguments.length可以获取实参的数量。
  • 我们即使不定义实参,也能从arguments获取传过来的实参。
  • arguments[0]表示第一个实参,arguments[1]表示第二个实参…。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值