js arguments对象

应用处理器(AP)、系统级芯片(SoC)与微控制器(MCU)的区别与联系 阅读详情
 

在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 )
    {
        throw new 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 ) return 1 ;
    return x *arguments. callee (x - 1 ) ;
} ;

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

为了您的安全,请只打开来源可靠的网址

打开网站    取消

来自: http://hi.baidu.com/lansesansan/blog/item/a6e717d12b501dc9a9ec9ab0.html
uni-app - 文本展开 / 收起折叠功能,支持自定义样式(当文本内容超出规定行数后,展开收起折叠的功能)兼容 H5 / App / 小程序且易用更容易修改的插件组件源码,超详细的示例代码及注释 uniapp实现文本的展开与收起功能,uniapp展开全部和收起,uniapp里文本的展开与收起,uniapp中文本内容超出规定行数后展开收起的处理,UNIAPP兼容h5、微信小程序多行文本展开或收起,uni-app中,文字超出隐藏并显示省略号(实现展开、收起全文),uni-app中文本过长-实现折叠与展开效果,中文本内容超出规定行数(字数)后展开收起的处理,超出部分...显示,uniapp适用于uniapp多行文本溢出显示...,多行文本展开或收起,uni-app-文本展开/收起折叠功能,支 阅读详情

相关推荐

高德地图轨迹回放,消息框内展示车辆速度且随车辆移动-升级支持调整速度、回放进度

使用高德地图回放车辆GPS轨迹,并添加速度和回放进度条,并支持调整,效果如下: 新增的功能: 在基础版本,有如下升级 速度条:可以拖动以调整车辆回放速度,且从当前位置继续回放 进度条:进度条表示车辆已回放的百分比,且拖动进度条车辆定位到相应的位置并继续回放 ###思路分析 高德和marker回放相关的API //主要靠他回放 moveAlong(path:Array,speed:Number,f:Function,circlable:Boolean) //点移动到另一个位置,移动进度条车辆跟随移动

博客 1万+

JavaScript之arguments

函数 arguments 对象是所有(非箭头)函数中都可用的局部变量, 是一个类似数组的对象。你可以使用 arguments 对象在函数中引用函数的(实际)参数。所以,arguments 是一个具有数组样式的对象,有 length 属性,和下标来索引元素。

qq_54787990的博客 547

信创环境下,软件测试如何破局?

毕竟,在自主可控的道路上,每一行通过测试的代码,都在为信创产业的未来添砖加瓦。未来,测试工程师不仅要验证软件在信创环境的可用性,更要基于国产软硬件的特性,推动软件进行 “原生设计”—— 例如,针对国产 CPU 的多核架构优化代码,基于国产数据库的索引机制提升查询效率。某政务云平台的测试数据显示,在 “飞腾芯片 + 麒麟操作系统” 环境下,系统的并发处理能力较传统环境下降约 15%,测试团队通过优化软件的线程调度逻辑,最终将性能损失控制在 5% 以内 —— 这正是信创性能测试的价值所在。

weixin_45608163的博客 883

JavaScript 函数 arguments

函数:就是将一些功能或语句进行封装,在需要的时候,通过调用的形式,执行这些语句。 函数也是一个对象 使用typeof检查一个函数对象时,会返回 function 函数的作用: 将大量重复的语句抽取出来,写在函数里,以后需要这些语句的时候,可以直接调用函数,避免重复劳动。 简化编程,让编程模块化。高内聚、低耦合。 来看个例子: console.log("你好"); sayHello(); // 调用函数 // 定义函数 function sayHello(){ cons

ximingx 2573

SAP LTMC实战指南:物料主数据高效导入全解析

本文详细解析了SAP LTMC工具在物料主数据高效导入中的实战应用,包括工具选择、项目搭建、模板定制、数据导入全流程及常见问题解决方案。重点介绍了LTMC的预置模板、LTMOM灵活配置、数据校验机制等核心功能,帮助用户快速掌握SAP数据迁移技巧,提升工作效率。

weixin_33738555的博客 434

贝塞尔曲线原理--曲线生成--路径规划--matlab代码

贝塞尔曲线有着很多特殊的性质, 在图形设计和路径规划中应用都非常广泛, 在路径规划中贝塞尔曲线完全由其控制点决定其形状, n个控制点对应着n-1阶的贝塞尔曲线,并且可以通过递归的方式来绘制.

bob595078694的博客 1万+

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) 5345

无法将“choco”项识别为 cmdlet、函数、脚本文件或可运行程序的名称的解决方案

本文主要介绍了无法将“choco”项识别为 cmdlet、函数、脚本文件或可运行程序的名称的解决方案,希望能对使用wIndows的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 12万+

Arguments对象

在javascript函数体内,标识符arguments具有特殊含义。它是调用对象的一个特殊属性,用来引用Arguments对象。Arugments对象就像数组,注意这里只是像并不是哈。javascript函数体内,arguments像数组(并不是真的数组,是一个Arguments对象,再次强调)一样,有length属性,可以代表传给函数的参数的个数。引用一个形式参数可以用参数名,也可以用

314

X书x-mini-sig_x-mini-mua

X书的tiny风控代码,成功运行x-mini-sig|x-mini-mua

Codeooo 博客 1万+

【部署】Kimi 接入OpenClaw完整步骤及关键注意事项

本文详细介绍了如何将Kimi AI接入OpenClaw系统的完整步骤。首先需确保环境满足OpenClaw版本要求和系统支持,然后通过配置向导完成本地网关设置和Kimi模型接入,包括API密钥配置。文章提供了详细的命令操作和界面截图指导,并重点说明了安全警告处理、服务状态检查、API密钥有效性验证等关键注意事项。最后还展示了Kimi流量消耗明细和问题排查方法,帮助用户顺利完成接入并解决常见问题。整个流程清晰明了,涵盖了从环境准备到最终验证的全部环节。

海兰 7168

js中arguments参数

描述 arguments对象是所有(非箭头)函数中都可用的局部变量。你可以使用arguments对象在函数中引用函数的参数。此对象包含传递给函数的每个参数,第一个参数在索引0处。例如,如果一个函数传递了三个参数,你可以以如下方式引用他们: arguments[0] arguments[1] arguments[2] 参数也可以被设置: arguments[1] = ‘new value’; /...

编程之路 1530

SAP_MM模块采购订单显示含税价&不含税简介

不含税价(Net Price):基础商品价格,不包含税金。含税价(Gross Price):基础价格加上适用税金后的总价。在SAP中,采购订单通常以不含税价为基础,通过配置税码和定价方案,系统会自动计算含税总价。

我小时候很黑的博客 2300

vue.js 数组里面有对象、数组_JavaScript之类数组对象与arguments

阅读本文约需要5分钟大家好,我是你们的导师,我每天都会给大家分享一些干货内容(当然了,周末也要允许老师休息一下哈)。上次给大家分享了JavaScript中new的模拟实现,今天给大家分享一下类数组对象与arguments。类数组对象所谓的类数组对象,就是拥有一个 length 属性和若干索引属性的对象。举个例子:即便如此,为什么叫做类数组对象呢?那让我们从读写、获取长度、遍历三个方面看看...

weixin_39606911的博客 402

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

JS Arguments对象详解

arguments是一个对应传递给函数参数的类数组对象; 使用场景:针对同一个方法被多处调用,但是参数数量不确定的情况下,可以更具arguments索引进行判断。 例如: function func1(a, b, c) { console.log(arguments[0]); // 1 console.log(arguments[1]); // 2 console.log(arguments[2]); // 3 } func1(1, 2, 3); 1、arg.

qq_34691738的博客 5969

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

JS中arguments对象

当我们不确定有多少个参数需要传递时,可以用arguments来获取。并且在JS中,arguments是当前函数的一个内置对象,所有函数均内置了一个arguments对象,存储了传递的所有实参。

m0_64085523的博客 1057

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

深入解析JavaScript的arguments对象

在 JavaScript 中,

qq_63084249的博客 1173

js arguments对象的length属性

1. arguments.length 和 函数本身的length ① arguements.length 是 指 实参个数 ② 函数本身的length属性 是 指 函数希望接收的命名参数(形参)的个数 如果仅仅称为形参个数,多少有点不准确 2. 如何判断一个空对象 之前打酱油充当面试官的时候,一般会问一下js怎么判断空对象,总会有面试者一脸看傻子的表情看着我,不屑的说一句:“用length啊”。。。。 ① json序列化:JSON.stringify({}) === "{}" ② for-in 循环

Dの博客 1913

JavaScript中的Arguments对象

文章目录JavaScript中的Arguments对象1.arguments 的基本使用2.arguments转array数组3.箭头函数中没有arguments4.扩展 —— ES6 剩余参数 JavaScript中的Arguments对象 arguments是一个对应于传递给函数的参数的类数组(array-like)对象。 arguments对象是所有(非箭头)函数中都可用的局部变量。你可以使用arguments对象在函数中引用函数的参数。此对象包含传递给函数的每个参数,第一个参数在索引0处。 1.ar

qq_49002903的博客 2004

JavaScript ——arguments对象

1.arguments对象 arguments 对象为JavaScript内置对象,该对象包含了函数调用的参数数组,是数组(Array)类型,可以通过arguments对象来找到参数数组里最大的值。 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>JavaSc...

web_wq 222

JavaScript arguments对象

在JavaScript中,arguments对象是比较特别的一个对象,实际上是当前函数的一个内置属性。arguments非常类似Array,但实际上又不是一个Array实例。可以通过如下代码得以证实(当然,实际上,在函数funcArg中,调用arguments是不必要写成funcArg.arguments,直接写arguments即可)。 Array.prototype.testArg = ...

原鑫的个人博客 204

JavaScript的arguments对象

arguments 对象 在函数代码中,使用特殊对象 arguments,开发者无需明确指出参数名,就能访问它们。 例如,在函数 sayHi() 中,第一个参数是 message。用 arguments[0] 也可以访问这个值,即第一个参数的值(第一个参数位于位置 0,第二个参数位于位置 1,依此类推)。 因此,无需明确命名参数,就可以重写函数: function sayHi(

Kevin的逆袭博客 1018

JS中Arguments对象

???? 描述 arguments 是一个对应于传递给函数的参数的类数组对象。 arguments对象是所有(非箭头)函数中都可用的局部变量。你可以使用arguments对象在函数中引用函数的参数。此对象包含传递给函数的每个参数,第一个参数在索引0处。例如,如果一个函数传递了三个参数,你可以以如下方式引用他们: arguments[0] arguments[1] arguments[2] 123当然参...

AC916305619的博客 331

在js中arguments对象的理解

一、在函数调用的时候,浏览器每次都会传递进两个隐式参数: 函数的上下文对象this 封装实参的对象arguments 二、 arguments 对象 arguments 对象实际上是所在函数的一个内置类数组对象 每个函数都有一个arguments属性,表示函数的实参集合,这里的实参是重点,就是执行函数时实际传入的参数的集合。arguments不是数组而是一个对象,但它和数组很相似,所以通常称...

浮生离梦的博客 272

有关js里的arguments对象

JS中每个函数都会有一个Arguments对象实例arguments。arguments的作用如下:一:获取函数实参及实参长度函数的对象实例arguments,引用着函数的实参。可以用数组下标的方式"arguments[i]"引用相应的实参;可以用arguments.length来访问函数实参的总个数;由于它具有数组的某些特性,通常我们可以把这样的对象称为“类数组对象”(但是它仍然是一个对象,而非...

筑释科长的博客 372

js中的arguments对象

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

anruanba4181的博客 138
上一篇: js函数的几种写法
下一篇: DirectoryInfo类
ArvinStudy
博客等级 码龄15年 83粉丝 193原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值