首页 > 其他分享 >js中修改arguments时的具体行为

js中修改arguments时的具体行为

时间:2023-02-08 22:47:07浏览次数:43  
标签:10 console log js 99 修改 arguments func

当非严格模式中的函数没有包含剩余参数、默认参数和解构赋值,那么arguments对象中的值会跟踪参数的值(反之亦然)。看下面的代码:

function func(a) {
  arguments[0] = 99;   // 更新了 arguments[0] 同样更新了 a
  console.log(a);
}
func(10); // 99

并且

function func(a) {
  a = 99;              // 更新了 a 同样更新了 arguments[0]
  console.log(arguments[0]);
}
func(10); // 99

当非严格模式中的函数有包含剩余参数、默认参数和解构赋值,那么arguments对象中的值不会跟踪参数的值(反之亦然)。相反,arguments反映了调用时提供的参数:

function func(a = 55) {
  arguments[0] = 99; // updating arguments[0] does not also update a
  console.log(a);
}
func(10); // 10

并且

function func(a = 55) {
  a = 99; // updating a does not also update arguments[0]
  console.log(arguments[0]);
}
func(10); // 10

并且

function func(a = 55) {
  console.log(arguments[0]);
}
func(); // undefined

标签:10,console,log,js,99,修改,arguments,func
From: https://www.cnblogs.com/qiaorr101/p/17103590.html

相关文章

  • 修改AJAX内容后,每次都需要重新运行终端?解决方法(nodemon)
    安装  npminstall-gnodemon 使用nodemon.\server.js 备注:.\server.js是服务器(自己写的)  ......
  • ts/js 中双问号、双感叹号的含义
    双问号??作用:如果给定变量值为null或者undefined,则使用双问号后的默认值,否则使用该变量值abc?.details.efg?.name?.text??'-'参考:ES新提案:双问号操作符双感叹......
  • mysql数据库修改密码的几种方法
    目录MYSQL修改用户密码updatesetgrantmysqladmin在日常使用mysql数据库的时候,我们有修改mysql数据库密码的需求。以下介绍四种修改mysql数据库密码的方法。MYSQL修改用......
  • JS解密解密必须要会的一些小语法技巧
    此文章由​​jsjiami.com​​技术提供,需要js加解密可直接官网底部联系方式。一、数组相关1、数值类型转数组JS版本constcastArray=(value)=>(Array.isArray(value)?v......
  • three.js教程4-层级模型
    1、组对象Group、层级模型-形成树状结构//创建两个网格模型mesh1、mesh2constgeometry=newTHREE.BoxGeometry(20,20,20);constmaterial=newTHREE.MeshLambe......
  • 结构体与json
    json是js中的数据表示方法,后面为了标准,同时json也很方便就前后端都在使用把结构体转换为json格式字符串序列化packagemainimport("encoding/json""fmt")t......
  • three.js教程3-模型对象、材质
    1、Object3D的position和scale是三维向量Vector3因此模型的位置和缩放等变化,也是使用Vector3的属性和方法实现,查询文档Vector3。三维向量Vector3有xyz三个分量,查看three.......
  • C# Newtonsoft.Json null 转空值{} 把对象null转换{}为JSON字符串
    ///<summary>///把对象null转换{}为JSON字符串///</summary>///<paramname="o">对象</param>///<returns>JSON字符串</return......
  • 利用fiddlercore,修改http/https请求与响应
    fiddler抓包工具,相信很多人都用过,很好用的一款抓包工具。 fiddlercore是官方提供给开发者调用的,用来处理所有的http/https请求,功能就如Fiddler一样强大,fiddlercore官方网......
  • js实现简单倒计时
    <!DOCTYPEhtml><html><head><metacharset="utf-8"><metaname="viewport"content="width=device-width,initial-scale=1"><title></title></head>......