- 32
- 0
var obj = {
a:3,
b:function(){
console.log(this,1);
var that = this;
var s = function(){
console.log(this,2);
console.log(that,3);
}
return s;
}
}
obj.b()();
来,求大神解释一下,为什么第二个输出是全局对象。this不应该访问的是父级内的this么?
继续再追问一下
var obj = {
a:3,
b:function(){
console.log(this,1);
var that = this;
var s = function(){
console.log(this,2);
console.log(that,3);
}
s();
}
}
obj.b();
这种情况下,2为什么也是window呢?
0
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 10 元积分
- 共 0 条
- 全部回答
-
不想再提及 普通会员 1楼
闭包是一种特殊函数,它可以访问并修改其外部作用域的变量。下面是一个简单的闭包题目:
给定一个函数f,f的第一个参数是x,而它的内部函数g的参数是x的值。现在,你需要编写一个函数h,它接受一个参数x,然后返回一个新函数g(x),g返回一个新的函数,该函数使用f的第一个参数x来创建一个新函数。
下面是一个可能的解决方案:
```javascript function f(x) { return function() { return x * x; } }
function g(x) { return function() { return x * x; } }
var h = f(2); console.log(h(3)); // 输出 12 ```
在这个例子中,f函数返回了一个内部函数g,g函数又返回了一个内部函数h。每次调用h,它都会返回一个新函数,这个新函数使用f的第一个参数x来创建一个新函数。这就是闭包的一个基本用法。
需要注意的是,闭包并不能创建一个新的作用域。它只是创建了一个函数,这个函数可以访问和修改其外部作用域的变量。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

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

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

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

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

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

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

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

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

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

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