zoukankan      html  css  js  c++  java
  • JS基础(arguments详解)

    一、简介

    了解arguments这个对象之前先来认识一下javascript的一些功能:

    其实Javascript并没有重载函数的功能,但是Arguments对象能够模拟重载。Javascrip中每个函数都会有一个Arguments对象实例arguments,

    它引用着函数的实参,可以用数组下标的方式"[]"引用arguments的元素。arguments.length为函数实参个数,arguments.callee引用函数自身。

    二、特点

    1.arguments对象和Function是分不开的。

    2.因为arguments这个对象不能显式创建。

    3.arguments对象只有函数开始时才可用

    三、使用方法

    虽然arguments对象并不是一个数组(类数组),但是访问单个参数的方式与访问数组元素的方式相同

    例如:

    arguments[0],arguments[1], . . . arguments[n]; 在js中不需要明确指出参数名,就能访问它们

    我们知道每一个对象都有自己的属性,arguments对象也不例外,首先arguments的访问犹如Array对象一样,用0到arguments.length-1来枚举每一个元素。

    下面我们来看看callee属性,返回正被执行的** Function** 对象,也就是所指定的 Function 对象的正文。

    callee 属性是 arguments 对象的一个成员,仅当相关函数正在执行时才可用。callee 属性的初始值就是正被执行的** Function** 对象。实现匿名的递归函数。

     

    封装实参的对象 arguments

    -arguments是一个类数组对象,它也可以通过索引来操作数据,也可以获取长度

    -在调用函数时,我们所传递的实参都会在arguments中保存

    -arguments.length可以用来获取实参的长度

    -我们即使不定义形参,也可以通过arguments来使用实参,

    -它里边有一个属性叫做callee,这个属性对应一个函数对象,就是当前正在指向的函数的对象

  • 相关阅读:
    windows下面Nginx日志切割
    C#通过DocX创建word
    leetcode 189 Rotate Array
    leetcode 172 Factorial Trailing Zeroes
    leetcode 169 Majority Element 冰山查询
    leetcode 165 Compare Version Numbers
    leetcode 160 Intersection of Two Linked Lists
    【windows-》linux】SCP
    【设计】B端和C端区别
    【Flask】部署
  • 原文地址:https://www.cnblogs.com/MDZZZ/p/12497145.html
Copyright © 2011-2022 走看看