- 30
- 0
传参形式
~funciton (userName) {
method(userName);
method0(userName);
function method(id) {
alert(id);
}
function method0(id) {
// method0 本身并不需要 id 但 method1 需要 接收也是为了调用 method1 时传递过去
method1(id);
}
function method1(id) {
console.log(id);
}
}('*#02#')
闭包形式
~funciton (userName) {
method();
method0();
function method() {
alert(userName);
}
function method0() {
// method0 本身并不需要 id 但 method1 需要 接收也是为了调用 method1 时传递过去
method1();
}
function method1() {
console.log(userName);
}
}('*#02#')
显然闭包简直好用爆了 不过我记得函数式编程的规范是建议函数用到的外部值都需要传参进去 这才能形成纯函数 是吧 这样到底有什么好处 辣么用真的不嫌麻烦吗?
- 共 0 条
- 全部回答
-
天地任逍遥 普通会员 1楼
在JavaScript中,函数内部直接使用闭包读取参数可以用于传递值。以下是一个简单的例子:
```javascript function outerFunction() { var value = 10; function innerFunction() { console.log(value); } return innerFunction; }
var inner = outerFunction(); inner(); // 输出10 ```
在这个例子中,
outerFunction内部有一个innerFunction,innerFunction是闭包,它可以访问到outerFunction的局部变量value。当outerFunction被调用时,innerFunction会立即被调用,因此它可以看到outerFunction内部的value。如果你想传递值给函数,你可以使用
arguments对象,这是一个包含函数所有参数的对象:```javascript function outerFunction() { var value = 10; function innerFunction() { console.log(arguments[0]); } return innerFunction; }
var inner = outerFunction(5); inner(); // 输出5 ```
在这个例子中,
innerFunction是闭包,它可以从outerFunction中访问到arguments对象的0作为参数。因此,innerFunction可以接收任何传递给它的值。
- 扫一扫访问手机版
回答动态

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

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

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

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

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

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

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

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

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

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