博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
arguments对象
阅读量:6690 次
发布时间:2019-06-25

本文共 837 字,大约阅读时间需要 2 分钟。

在函数代码中,使用特殊对象 arguments,开发者无需明确指出参数名,就能访问它们

[function.]arguments[n]参数

function:选项。当前正在执行的 Function 对象的名字。 
n :选项。要传递给 Function 对象的从0开始的参数值索引。说明Arguments是进行函数调用时,除了指定的参数外,还另外创建的一个隐藏对象。Arguments是一个类似数组但不是数组的对象,说它类似数组是因为其具有数组一样的访问性质及方式,可以由arguments[n]来访问对应的单个参数的值,并拥有数组长度属性length。还有就是arguments对象存储的是实际传递给函数的参数,而不局限于函数声明所定义的参数列表,而且不能显式创建 arguments对象。arguments对象只有函数开始时才可用。

arguments不是真正的数组,可以转换成标准的数组并进行数组操作

var args=Array.prototype.slice.apply(arguments)

callee  

arguments.length是实参长度,arguments.callee.length是形参长度

caller
返回一个对函数的引用,该函数调用了当前函数。
    functionName.caller 
    functionName 对象是所执行函数的名称。
说明
对于函数来说,caller属性只有在函数执行时才有定义。如果函数是由顶层调用的,那么 caller包含的就是 null 。如果在字符串上下文中使用 caller属性,那么结果和 functionName.toString 一样,也就是说,显示的是函数的反编译文本,
注意:Function.toString() 可以实现 Function 的反编译功能.如加上递归功能则功能更加强大

转载于:https://www.cnblogs.com/family-626-77/p/5897287.html

你可能感兴趣的文章
Windows改Linux(一),新建Ubuntu虚拟机小白向导
查看>>
HTML5调用手机前置摄像头或后置摄像头拍照,canvas显示,经过Android测试
查看>>
如何做好 Android 端音视频测试?
查看>>
element 源码学习(番外篇) —— SASS五分钟快速入门
查看>>
五个非常实用的机器学习资源
查看>>
关于一个插图的翻译
查看>>
Spring Cloud构建微服务架构:分布式服务跟踪(入门)【Dalston版】
查看>>
spring 5 webclient使用指南
查看>>
【355天】跃迁之路——程序员高效学习方法论探索系列(实验阶段113-2018.01.26)...
查看>>
阿里云即将全球首发云骨干网
查看>>
Python数据分析
查看>>
一次Java字节码插桩实战
查看>>
Netflix 混沌工程手册 Part 3:实践方法
查看>>
用PVS在.NET内核中发现的缺陷
查看>>
战胜阿里和腾讯,Ripple已经获得200家跨境支付客户!
查看>>
剖析AWS CodeDeploy
查看>>
首次踏入vue坑——阅读zhihudaily-vue源码
查看>>
前端开发工具——汇总篇
查看>>
Rust编程语言的核心部件
查看>>
CSS(颜色_字体)
查看>>