Javascript ES6消除了类中各处的’this’关键字的使用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Javascript ES6消除了类中各处的’this’关键字的使用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1238字,纯文字阅读大概需要2分钟。
内容图文
![Javascript ES6消除了类中各处的’this’关键字的使用](/upload/InfoBanner/zyjiaocheng/681/c8816669233e47a6908312f67402ca27.jpg)
我正在使用Traceur现在可以编写将来的一些javascript,这是我在某些课程中拥有的功能
create() {
this.game.physics.startSystem(Phaser.Physics.ARCADE);
this.segmentcache = new SegmentCache(this.game);
this.segments = new Segments(this.game);
this.segments.cache = this.segmentcache;
this.segments.seek(3);
this.guy = new Guy(this.game, 140 + 8, 80);
this.guy.anchor.set(0.5, 1.0);
this.game.add.existing(this.guy);
this.game.camera.x = 100;
this.ticks = 0;
this.cross = 0;
}
当然,与任何传统的javascript代码一样,this关键字遍布各处.来自Java之类的东西,当我不必在引用类内部的字段时必须指定它是非常不自然的.
有什么方法可以使Traceur以与Java相同的方式解释类? (即在未指定时自动插入,等等)
解决方法:
AFAIK,不.
在Java,C#,C等中,这是编译器的功能,而不是执行功能.这意味着它是隐式完成的,编译器所做的是将正确的地址放入该地址并以正确的方式引用变量.在大多数编译器中都有一个规则,即如果您有一个具有相同名称的局部变量(在局部范围内),则它优先于成员变量.
在javascript中,您可以轻松地通过调用,应用或绑定来替换它,并在作者不打算使用的对象上调用函数(即,该对象可能是具有不同结构的对象).我认为这就是为什么语言语法要求您始终明确指定要引用作用域还是此范围的原因.
javascript函数体中的更多内容实际上可以读取全局范围,因此,如果不使用显式this,则定义window.member(如果在浏览器中)可能会更改函数的行为.
内容总结
以上是互联网集市为您收集整理的Javascript ES6消除了类中各处的’this’关键字的使用全部内容,希望文章能够帮你解决Javascript ES6消除了类中各处的’this’关键字的使用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。