关于this使用的几点疑惑

来源:3-5 ES6与小游戏资源加载器的封装

Echo鑫

2018-02-02

老师我想问下,construct()构造函数中定义类变量用this.map,这个this貌似是指向全局的,而function中的this,你说this.变量是指向value.onLoad方法内的,是不是this的作用域跟他所在的区域有关系?所以我就想到下面几个问题:

  1. 构造方法内的变量定义时为什么要带this,而不直接写变量名?

  2. 构造方法内和类中的this所修饰的变量是指向全局的,而方法内的this是指向这个方法内的变量,this的作用域跟他所在的区域有关系?

  3. 类变量/全局变量的定义是不是都得用this?对类变量的调用是不是也都得带上this.XX?而不能直接写变量名。

  4. 关于this的使用中总有些思路不清楚,老师你觉得应该注意什么,或者该怎么理解,才能在使用this时,不会犯一些低级错误.


写回答

1回答

傅猿猿

2018-02-03

其实吧,es5的this更多的是某个域内的引用,可以这样理解,就是比如传了一个内部function,那this就指向这个function本身。es6的箭头函数把这个this指向外面了,就是这样。其实面向对象里,this也是对外暴露这个方法或者变量,如果直接声明,外面是拿不到的。要不我回头给咱补补

0
1
Echo鑫
谢谢老师,这个可以有哈~~~///(^v^)\\\~~~
2018-02-03
共1条回复

微信小游戏入门与实战,一天之内搞定微信小游戏开发

官方同步,第一时间掌握整套微信小游戏开发核心技术

3515 学习 · 664 问题

查看课程