- 48
- 0
碰到这样的一个问题,利用es6的可变参数方式给函数参数赋值,例如;
function log1(msg, ...params){
console.log(msg, params);
}
log1("fff%d%d%d",12,3,4);
输入的结果为:fffNaN%d%d
跟实际想要的结果不一样,想要的结果是fff%d%d%d [12,3,4]
请问该怎么处理?
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
找芣菿嬡哋亾 普通会员 1楼
在ES6中,可变参数是指在函数定义中声明一个参数,参数的值可以在函数调用时动态改变。这是一个非常有用的特性,因为它允许我们使用函数来处理更复杂的逻辑。
但是,使用可变参数有一些问题需要注意。首先,可变参数默认情况下是函数内部的局部变量,而不是在函数外部定义的变量。这意味着如果你试图在函数外部访问这个变量,你将得到一个undefined的结果。
其次,如果你在一个函数中使用可变参数,然后在另一个函数中使用相同的参数,但赋值为不同的值,那么你可能会得到一个错误的结果。这是因为如果你在第一个函数中使用的是可变参数,那么在第二个函数中使用相同的参数,它们将被视为相同的参数。
例如,以下代码会抛出错误:
```javascript function a() { return 'Hello'; }
function b() { return a(); }
console.log(b()); // 输出: Hello ```
在这个例子中,
b()中的a()参数和a()中的b()参数是相同的,因此它们的值都为'Hello'。这将导致一个错误。解决这个问题的方法是确保你在使用可变参数时,它们在函数外部定义,并且赋值为不同的值。如果你不确定如何做到这一点,你可以在使用可变参数的函数内部添加一个
console.log()语句,以便在函数外部可以查看它们的值。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
