前端笔记之每日一题

(一)每日一题

在这里插入图片描述

(二)复习知识点

this指针

1、在函数预编译过程中,this指向window
2、全局作用域中,this指向window
3、obj.func(); 对象里面的方法,this指向对象
4、call/apply可以改变this的指向
该题fn()函数内部有this指针,谁调用这个函数,this就指向谁,无人调用这个函数就指向window。

arguments类数组

arguments是函数里面隐式的一个实参数组,不定参。arguments[i]与实参之间存在映射关系,两者之间你变我就变。

(三)解题思路

在这里插入图片描述

题目一开始声明了一个全局变量length,并赋值为10,接着定义了一个fn函数,用来在控制台输出长度。还声明了一个obj对象,obj对象有length属性(属性值为5)和method方法。

以上部分都是定义的内容,在控制台中不会输出,关键是在最后一行代码。

最后一行代码obj调用他的method方法并传入2个实参,执行过程是method方法先执行fn()函数,因为没有谁去调用fn()函数,所以函数内部的this指向的是window,因此控制台先输出10。紧接着执行arguments[0](); 代码意思可以理解为arguments的第0位fn()执行,arguments[0]()也可以看成是arguments.fn(); 此处是arguments去调用了fn,fn里面的this应该指向arguments,他的长度很明显是2(有两个参数)。因此最后返回的是10和2
在这里插入图片描述
声明:该文章纯属学习记录,题目来源于网络非原创,笔记和解题思路纯属个人理解,如有错误谅解斧正。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值