持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第22天,点击查看活动详情
文章概览
- argument
- Date
call()和apply()
- call()和apply()方法都是函数对象的方法。
- call()和apply()需要通过函数对象来调用。
- 当函数使用call()和apply()时都会调用函数执行。
- 函数调用call()和apply()时会指定第一个对象作为第一个参数,这时这个对象就是this对象。
- call()方法可以将实参在对象之后依次传递,apply()方法需要将实参封装到一个数组中后,统一进行传递。
this的使用
- 当使用函数方法调用时,window作为this。
- 当使用方法的方式调用时,调用方法的对象时this。
- 当使用构造函数的方式调用时,新创建的对象是this。
- 当使用call或者apply的方式调用时,指定的对象是this。
argument
argument:当开发者调用函数时,浏览器会传递两个隐藏的参数:
- 函数的上下文对象this。
- 封装实参的对象arguments
注意
-
arguments是一个类数组对象,它可以通过索引来操作数据,也可以获取长度。
-
当调用函数时,开发者传递的实参实际上会存储在arguments中。
-
argument提供了获取实参长度的方法:arguments.length。
-
在不定义形参的情况下,可以通过arguments来使用实参:
- arguments[0]调用第一个实参,像数组一样,通过改变索引即可获得其他参数。
-
argument的其中一个属性callee对应一个函数对象,它指向正在使用函数的对象。
Date对象
JS中也有用来处理时间的方法:Date。
Date的使用
- 当使用构造函数创建一个Date对象时,会将当前代码执行的具体时间记录到Date对象中。
- 如果初始化一个Date对象时,使用有参有参构造函数,那么需要传递一个时间格式的字符串作为参数。