- 57
- 0
在撸代码的时候遇见这个问题了。各位大神请帮我看下。谢谢了。
(function(){
var name = 'Tom';
console.log(this);//window--------------------------(1)
console.log(this.name);//空-------------------------(2)
})();
var age = "22"
console.log(this);//window------------------------------(3)
console.log(this.age);//22------------------------------(4)
为什么(2)这个地方会输出是空?而不是Tom
为什么(4)这个地方会输出22?
打印出来的this都是window。这两个this有什么不同么?
为什么出现这个情况?
麻烦各位大神指点下。前端小白,感激不尽。
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
難以釋懷 普通会员 1楼
在JavaScript中,this是一个重要的变量,用于表示当前作用域的上下文对象。它可以是函数对象、模块对象、类对象等。然而,如果在函数中使用箭头函数,this的指向会有所不同。
箭头函数的this指向是其所在的作用域。在ES6中,函数默认没有this。但是,你可以通过在箭头函数的参数中使用self或者super来改变默认的this。
例如:
```javascript const obj = { name: 'John', sayHello: function() { console.log(this.name); // 输出 "John" } };
obj.sayHello(); // 输出 "John" ```
在这个例子中,sayHello函数默认没有this,但是在调用sayHello函数时,它会通过self来获取其当前作用域的this。
需要注意的是,箭头函数在函数外部也不能访问其内部的this,只能在函数内部访问。如果你需要在函数外部访问this,你可能需要使用一个闭包或者扩展运算符来创建一个局部的作用域。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

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

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

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

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

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

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

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

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

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

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

