js arguments对象说明

js arguments参数使用和详解 一、arguments 参数介绍arguments,它是js中函数内置的一个对象,而执行函数方法的实参中值都存储在arguments中;要想获取到这些实参,就需要像数组一样,用下标/索引来定位到每个值上面,但是又不能说它是一个数组,因为它里面还有其他的属性,如callee;并且不能对它使用shift、push、join等方法。而没有传递值的命名参数将会被自动赋予undefined;arguments.length----参数个数arguments.callee()---调佣自身二、使用案例案例1: 案 阅读详情

在javascript函数体内,标识符arguments具有特殊含义。它是调用对象的一个特殊属性,用来引用Arguments对象。 Arugments对象就像数组,注意这里只是像并不是哈。

javascript函数体内,arguments像数组(并不是真的数组,是一个Arguments对象, 再次强调)一样,有length属性,可以代表传给函数的参数的个数。

引用一个形式参数可以用参数名,也可以用arguments[]数组形式,其中arguments[0]表示第一个参数。

所以,javascript中Arguments对象是函数的实际参数,下面,我们一起来进入这神奇的国度,一窥究竟。

arguments.length属性:

js不会主动为你判断你到底给函数传了多少个参数,如果你多传了,多余的部分就没有被使用,如果你少传了,那么没传的参数值就是undefined

所以我们可以借助arguments的length属性来检测调用函数时是否使用了正确数目的实际参数,因为javascript是不会为你做这些 事的

function f(x,y,z)
{
   //首先检查传递的参数数量是否正确
   if(arguments.length!=3)
   {
       thrownew Error("function f called with "+ arguments.length+"arguments ,but it not 3 arguments.");
   }
   //下面运行真正的函数
}

arguments还为我们提供了这样一种可能,就是为一个函数传任意数目的实际参数:

比如说,我想判断你传给我的一些数字的大小,取出最大的那个,对,没错,你传多少参数都行,但是前提是你要传数字,因为我在函数内部懒得判断了。 呵。

function max()
{
   //根据我上一篇日志,这已经是JavaScript内最小的数字了
   var m = Number.NEGATIVE_INFINITY;
   for(var i =0; i < arguments.length; i++)
   {
       //只要有任何一个参数比m大,那么m就变成了这个参数的值
       if(arguments[i]> m)
            m = arguments[i];
   }
   return m;
}

怎么样?这个方法很巧妙吧?呵呵。

说明一下arguments与真正传的形式参数是一致的:

比如,你给函数传了一个叫param的参数,并且只有这一个参数,那么param与arguments[0]都是对这个参数值的引用,

改变其中一个值,即改变了二者所有的值

function change(param)
{
   //比如我传的param为simaopig,那么alert就是simaopig,
   //如果啥也没传就会alert undefined
   alert(param);
   //用arguments[0]改变了这个参数的值
    arguments[0]='xiaoxiaozi';
   //没错,这个值变成了xiaoxiaozi
   alert(param);
}

arguments的callee属性:

arguments的callee属性是用来引用当前正在执行的函数,这对未命名的函数调用自身非常有好处。

现在用arguments的这个callee同样可以简单的实现

//用函数直接量,采用arguments.callee属性实现递归函数
var result =function(x){
   if(x<=1)return1;
   return x*arguments.callee(x-1);
};

在最后提醒大家一点,既然这个arguments这么厉害,那么我们就不要为变量命名为arguments 了,事实上arguments是javascript的保留字之一。嗯。

详细解读文字识别工具———Tesseract-OCR    在尝试破解12306验证码的时候,提前了解了一下应对各种验证码的解决方案,这里主要是学习到了面对文字图片验证码,例如亚马逊、豆瓣等平台的登录时会遇到的情况,效果还不错。 一、工具介绍 ​    Tesseract-OCR 是一款由HP实验室开发由Google维护的开源OCR(Optical Character Recognition... 阅读详情

相关推荐

直升机空气动力学基础--005翼型的升阻比和气动力矩

焦点与翼型有关,总升力矩可以视为附加升力与零升力迎角升力的合成,对于对称翼型,零升力力矩为0,附加升力就是总升力,其焦点就是其压力中心。对于对称翼型,零升力力矩为0,对于非对称翼型,零升力力矩存在,与不对称度成正比。对于不对称翼型,升力对焦点的力矩保持不变。

ygf666的博客 4130

JS里arguments的作用

对象允许您访问传递给函数的所有参数,无需提前知道这些参数的名称。对象在某些情况下非常有用,但它不是一个真正的数组,而是一个类似数组的对象。对象,您可以编写一个函数,根据传递给它的参数数量和类型来执行不同的操作,从而模拟函数重载的效果。对象允许您访问传递给函数的所有参数,无论您是否在函数定义中命名了这些参数。是一个特殊的对象,它用于在函数内部引用传递给函数的参数。函数根据传递给它的参数数量执行不同的操作,模拟了函数的重载效果。属性来确定传递给函数的参数数量,从而根据需要执行不同的操作。

z2000ky的博客 534

Trae IDE与Playwright MCP:5分钟实现零代码网页数据抓取

网页数据抓取是数据采集和自动化处理中的基础技术,其核心原理是通过程序模拟浏览器行为,定位并提取页面中的结构化信息。传统方式依赖编写脚本处理网络请求、解析HTML和应对反爬机制,技术门槛较高。而结合AI与自动化工具的新范式,通过自然语言交互即可完成复杂操作,极大降低了技术门槛并提升了开发效率。这种技术价值在于将开发者从繁琐的编码中解放,使其更专注于数据分析和业务逻辑。在数据监控、市场调研、竞品分析等应用场景中,快速获取网页数据是关键需求。本文以Trae IDE集成Playwright MCP为例,演示如何通过

culi3118的博客 498

JS arguments对象的作用

arguments 对象作用:(1)实现js的重载(2)检测参数个数         arguments对象大多用来针对同个方法多处调用并且传递参数个数不一样时使用。         例:实现传递参数的累加,由于传递的参数的个数不一致,故使用arguments对象。 ...

夏沐的博客 1806

最新 抖音 X-Gorgon 0408 和8408 设备注册协议

抖音app先是检测了你的手机cpu架构,是x86还是armeabi,通过cpu架构的不同来调用so内不同的xg方法,所以导致现在最新版抖音app的xg算法有0408和8408两种。两种都是最新版,因为我发现当我使用oppo手机安装最新版抖音抓包的xg是8408,而当我用小米或者华为安装最新版抖音,抓包以后发现xg是0408。抖音IOS XG84 设备注册激活协议代码片段。...

Q44804487的博客 1万+

Android应用隐私合规自动化检测:Frida与Camille实战指南

在移动应用安全与隐私合规领域,动态代码插桩技术已成为核心检测手段。其原理是通过运行时注入,实时监控和修改应用行为,从而绕过传统静态分析的局限。这项技术的核心价值在于能够精准捕获应用在运行时的敏感数据调用与网络传输行为,为隐私合规审计、安全测试提供直接证据。在实际应用场景中,它尤其适用于自动化检测违规收集个人信息、追踪数据流向等任务。本文聚焦于利用Frida这一动态插桩框架,结合Camille隐私合规检测工具集,构建自动化监控环境。通过注入JavaScript代码,实现对Android敏感API(如获取设备标

weixin_34254464的博客 388

JavaScript第 14 篇,JavaScript函数中的arguments(JS函数中的arguments,函数默认参数arguments)

⭐在JavaScript中,arguments是一个类数组对象,它包含了函数调用时传入的所有参数。尽管它看起来像数组,但实际上并不是真正的数组,这意味着它不具有数组的所有方法如.push()、.pop()等。 JS的函数参数和其他的语言有些不同,它并不介意你传进来多少个参数,以及参数的数据类。即使你在定义函数时,只设置了两个形参,那么在调用这个函数时,你给他传递一个、两个,或者是其它四个、五个实参,它都能接收,之所以会这样是因为在函数参数内部是用一个数组来表示的,在函数体内是通过

AI Agent 全栈架构师(AI + GIS + Backend)& 数字芯片系统架构师(FPGA),NorthCity Smile的博客(NcSmile,博主域名:https://ncmile.blog.youkuaiyun.com) 5346

MoCap 动作捕捉开源库教程

数据通过 tf2 和支持不同 QoS 设置的 /poses 主题直接发布。该软件包最初是为 Crazyswarm 开发的,用于跟踪多达 50 个飞行机器人。

机器人控制与仿真应用 1307

JavaScript关于函数和对象以及arguments等的详细说明

内容源文件:[url]http://www.w3school.com.cn/js/pro_js_functions.asp[/url] [code="java"] JavaScript是有 三部分组成 一.ECMAScript 二.DOM 文档对象模型 三.BOM浏览器对象模型 其中ECMAScript是一个标准 规定了JavaScript的语法 关键字 保留字 基本数据类型等...

108

YOLOv8性能提升:引入华为GhostNetv1特征提取网络

本文提出一种轻量化改进方案,将GhostNetV1作为YOLOv8的主干网络,以提升移动端部署效率。通过Ghost模块的两步特征生成机制(初级卷积+廉价操作),显著降低了30%的计算量(FLOPs)和参数量,精度损失控制在1%以内。实验表明,改进后的模型在骁龙865芯片上推理速度提升25%。核心创新包括:1)用GhostBottleneck替换CSP模块;2)保留FPN+PAN结构确保多尺度检测能力;3)提供完整的PyTorch实现方案。该工作为资源受限场景的目标检测提供了实用解决方案,未来可结合注意力机制

shrgegrb的博客 1180

vue2/3 - 详细实现高德地图轨迹回放,vue高德地图车辆历史行驶轨迹播放,在地图上绘制行程轨迹|起点和终端的路程绘制|用户运动轨迹绘制及播放等(支持开始/暂停、进度条拖放、控制播放轨迹的倍速等)

vue2,vue3,nuxt,高德地图,轨迹,vue高德地图轨迹回放,历史轨迹回放,轨迹回放功能支持倍速及进度条拖拽,VUE高德地图轨迹回放、倍速调整、进度条拖拽,vue3高德地图轨迹回放,Vue实现地图路径回放,vue中使用高德地图实现历史轨迹回放并能控制播放轨迹的倍速,多条轨迹陆续播放,巡航轨迹做带进度条和倍速的轨迹回放,Vue高德地图路径回放,历史轨迹回放并能控制播放轨迹的倍速,使用高德地图实现轨迹播放和进度条控制,vue高德地图如何实现轨迹回放,高德地图做轨迹绘制用什么api,高德轨迹API,驾车轨

✅ 精选推荐文章 1万+

arguments的使用

arguments的使用 JavaScript中,arguments对象是比较特别的一个对象,实际上是当前函数的一个内置属性。也就是说所有函数都内置了一个arguments对象,arguments对象中存储了传递的所有的实参。arguments是一个伪数组,因此及可以进行遍历 <!DOCTYPE html> <html lang="en"> <head> ...

weixin_44740410的博客 248

YOLOv11改进策略【Neck】| BiFPN:双向特征金字塔网络-跨尺度连接和加权特征融合

可扩展的高效物体检测BiFPN(加权双向特征金字塔网络)

Limiiiing的博客 5494

javascript从入门到跑路-----小文的js学习笔记(7)--------js函数

** javascript从入门到跑路-----小文的js学习笔记(1)---------script、alert、document。write() 和 console.log 标签 … … javascript从入门到跑路-----小文的js学习笔记目录 ** 在说函数前,补充一个函数的作用域的知识点: 作用域 含义: 一般来说一段程序代码中使用的变量和函数并不总是可用的,限定其可用性的范围即作...

qq_45948983的博客 1506

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

js return false 之后不能停止执行_JavaScript函数_arguments_return(十六)

目录:1.arguments2.return一、arguments1.什么是arguments每一个函数都有一个arguments对象,它包括了函数所要调的参数,通常我们把它当作数组使用,用它的length得到参数数量。简单点来说:arguments是对应参数的,比如我有一个需求,所有的实参相加,但是这里我有50个参数,那咱们不能形参也写50个吧,或者我要判断实参个人。那么arguments就会起...

weixin_39945178的博客 1451

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

JavaScript中的类数组(arguments)

今天来看看js中的arguments(类数组) 我们可以先看一个例子: 定义⼀个函数,传⼊两个及以上参数且均为数字类型时返回其和,否则抛出异常提示“参数⽆效” 题解如下: <script> function sum() { var count = arguments.length; if (count >= 2) { var total = 0; for (v.

githubcurry,985cs博士在读 1150

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

javascript的arguments详解

参考文档:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/arguments 笔者虽然在开发中经常会用到arguments,但主要还是用于获取函数的可变参数列表,并没有深入理解,故在本文补上。 arguments定义:arguments是函数(不包括箭头函数)内置的一个类数组对象,数组元素为函数...

讨厌走开啦 2161

arguments 的理解

arguments关键字体现重载 //arguments关键字 function f1(){ //console.log('个人信息:'+"名字:"++";年龄:"++";地址:"+); //console.log(arguments); //console.log(arguments.length); //获得传递参数的个数 var len = arguments.length;

weixin_40918145的博客 617

第五讲 《javascript 函数 以及 作用域》

javascript 函数 以及 作用域 定义 函数声明 //函数名 function test() { //函数体 } 函数表达形式 (匿名函数表达式) 匿名 函数名 写和不写 都可以; 但是以表达式书写的函数 是忽略 函数名称的 //匿名 函数名 写...

唐僧的专栏 413

javaScript闭包的形成

重载(overload): 什么是: 相同函数名,不同参数列表的多个函数,在调用时,可根据传入的参数不同,自动选择匹配的函数执行。 为什么: 减少API的数量,减轻调用者的负担 何时: 只要一项任务,可能根据传入参数的不同,执行不同的流程时。 问题:js语法默认不支持重载,因为不允许多个同名函数同时存在! 解决: arguments: 函数调用时,自动创建;保存所有传入函数的参数值;类...

u012183426的博客 294

058_JavaScript函数arguments对象

1. 参数规则 1.1. JavaScript函数定义不会为参数(parameter)规定数据类型。 1.2. JavaScript函数不会对所传递的参数(argument)实行类型检查。 1.3. JavaScript函数不会检查所接收参数(argument)的数量。 2. 参数默认 2.1. 如果调用参数时省略了参数(少于被声明的数量), 则丢失的值被设置为: undefined。 2.2. 如果函数调用的参数太多(超过声明), 则可以使用arguments对象来达到这些参数。 3. 函数

aihiao的专栏 278

arguments对象

改变函数arguments也会改变对应的参数,arguments会自动映射到对应的参数上 但是改变参数并不会同步改变arguments 它们并不公用内存 在strict模式,不能对arguments付值,也不能覆盖arguments的值 arguments都是通过值来传递,不可能传入引用 转载于:https://www.cnblogs.com/chuangweili/p/51640...

weixin_30477797的博客 64

js 深入理解函数(一):函数的本质

函数的本质、箭头函数的使用、默认参数值的使用等内容

weiweiliude2的专栏 944

js函数中的arguments

在js中,arguments实际上他是当前函数的一个内置对象。所有函数都内置了一个。4、只有函数才有srguments。函数都内置了一个argument对象。当我们不确定有多少个参数传递的时候,可以用argument来获取。argument对象,arguments对象中存储了传递的所有实参。3、他没有真正数组的一些方法 pop() push()等等。1、具有数组的length属性。伪数组:不是真正意义上的数组。2、按照索引的方法进行存储。

lxllxl211的博客 735

【JS*知识*arguments】

函数内部属性之arguments 1.arguments是函数内部的一个特殊对象,如果在控制台中打印,可以看到其原型上的constructor为Object; 2.arguments是一个类数组,因为它可以使用数组的方括号语法来访问函数参数; 3.主要用途是保存函数参数,它包含着传入函数中的所有参数。例如一个函数传入了2个参数,那么arguments[0]就是第一个参数; 4.argument对象有一个重要的属性,叫callee,是一个指针,指向拥有这个arguments对象的函数 经典例子 funct

charlie________的博客 154

javascript arguments(转)

什么是arguments arguments 是是JavaScript里的一个内置对象,它很古怪,也经常被人所忽视,但实际上是很重要的。所有主要的js函数库都利用了arguments对象。所以agruments对象对于javascript程序员来说是必需熟悉的。 所有的函数都有属于自己的一个arguments对象,它包括了函所要调用的参数。他不是一个数组,如果用typeof argum

yzbben的博客 290
上一篇: Document对象内容集合
下一篇: javascript 冒号 使用说明
jiestyle21
博客等级 码龄17年 36粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值