- 38
- 0
var getSingle = function(fn) {
var result = null;
return function() {
return result || (result = fn.apply(this, arguments)); // 这行
}
}
// 使用
var foo = getSingle(function(){
// do...
})
foo()
这个单例的代码中。(result = fn.apply(this, arguments)) 改成 result = fn()是不是也行?为什么一定要用apply修正一下this呢?感觉这里的this即使不修正,也是指向宿主window。
麻烦大佬们帮忙指导下,谢谢。
1
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 10 元积分
- 共 0 条
- 全部回答
-
伱婼吥離 普通会员 1楼
在JavaScript中,
apply函数用于在一个数组上执行一个函数。它接受两个参数:要应用于数组的每个元素的函数,以及数组本身。apply函数的工作原理是,它将数组的每个元素作为参数传递给函数,然后返回一个新的数组,其中包含了函数处理每个元素的结果。这个新的数组就是我们期望的结果。举个例子,假设我们有一个数组
[1, 2, 3],我们想要将这个数组中的每个元素都乘以2,然后返回新的数组。我们可以使用apply函数来实现这个目标:javascript let arr = [1, 2, 3]; let result = arr.map(function(x) { return x * 2; }); console.log(result); // 输出:[2, 4, 6]在这个例子中,
map函数接收一个函数作为参数,这个函数会在数组的每个元素上执行。在这个例子中,我们的函数是function(x) { return x * 2; },它会将每个元素乘以2。然后,map函数返回一个新的数组,其中包含了函数处理每个元素的结果。最后,
console.log函数用来打印结果。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

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

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

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

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

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

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

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

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

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

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