简单了解JavaScript arguement原理及作用

 更新时间:2020年05月28日 15:12:38   作者:javascript痴痴  
这篇文章主要介绍了简单了解JavaScript arguement原理及作用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

问题

var length = 10;

function fn(){
  alert(this.length);
}
var obj = {
  length: 5,
  method: function(fn) {
   arguments[0]()
  }
}
obj.method(fn);//1

这段代码中的arguments[0]()是第一个参数?带一对小括号是什么意思?

理解

我们可以先从最后调用obj.method(fn)开始理解。

1.obj是对象,method()是obj的方法,fn是method()的参数,fn是函数的名,他引用对应的函数。arguments是JavaScript的一个内置对象。

An Array-like object corresponding to the arguments passed to a function.
The arguments object is a local variable available within all functions; arguments as a property of Function can no longer be used. Description:You can refer to a function‘s arguments within the function by using the arguments object. This object contains an entry for each argument passed to the function, the first entry's index starting at 0.

2.arguments是用来取得method(fn)的参数的类数组,在这里也就是fn,即arguments[0]===fn或arguments.0===fn(0就是arguments的一个属性)。所以arguments[0]()就等于fn()。

是不是到这里要开始风中凌乱了,this.length究竟是指向那个对象呢? 可以这样理解:

arguments = {
 0: fn, //也就是 functon() {alert(this.length)} 
 1: 第二个参数, //没有 
 2: 第三个参数, //没有
 ..., 
 length: 1 //只有一个参数
}

最后,这个1就是arguments.length,也就是本函数参数的个数。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • javascript数组去掉重复

    javascript数组去掉重复

    去tx面试过几次,基本都会考到数组去重。其实平时工作中几乎不会用到,再者也没认真去了解过,所以基本上每次面到这里都会露出很大的马脚,面试自然也over了
    2011-05-05
  • js实现选项卡内容切换以及折叠和展开效果【推荐】

    js实现选项卡内容切换以及折叠和展开效果【推荐】

    本文主要介绍了js实现选项卡内容切换以及文字折叠和展开效果的示例代码。具有一定的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • javascript遍历json对象的key和任意js对象属性实例

    javascript遍历json对象的key和任意js对象属性实例

    下面小编就为大家带来一篇javascript遍历json对象的key和任意js对象属性实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • JavaScript中的Truthy和Falsy介绍

    JavaScript中的Truthy和Falsy介绍

    这篇文章主要介绍了JavaScript中的Truthy和Falsy介绍,JavaScript中存在Truthy值和Falsy值的概念,本文讲解了它的相关概念,需要的朋友可以参考下
    2015-01-01
  • js indexOf 的正确用法示例详解

    js indexOf 的正确用法示例详解

    indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置,这篇文章主要介绍了js indexOf 的正确用法,需要的朋友可以参考下
    2023-02-02
  • 破解Session cookie的方法

    破解Session cookie的方法

    破解Session cookie的方法...
    2006-07-07
  • JS 实现可停顿的垂直滚动实例代码

    JS 实现可停顿的垂直滚动实例代码

    下面小编就为大家带来一篇JS 实现可停顿的垂直滚动实例代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • JavaScript设计模式之命令模式实例分析

    JavaScript设计模式之命令模式实例分析

    这篇文章主要介绍了JavaScript设计模式之命令模式,结合实例形式分析了javascript命令模式的概念、原理、用法及相关注意事项,需要的朋友可以参考下
    2019-01-01
  • tsc性能优化Project References使用详解

    tsc性能优化Project References使用详解

    这篇文章主要为大家介绍了tsc性能优化Project References使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • JavaScript求解最长回文子串的方法分享

    JavaScript求解最长回文子串的方法分享

    这篇文章主要为大家介绍了JavaScript求解最长回文子串的几种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-08-08

最新评论