Project1

标题: JS脚本的新的写法尝试 [打印本页]

作者: 夏虫沉默    时间: 2021-11-17 15:04
标题: JS脚本的新的写法尝试
本帖最后由 夏虫沉默 于 2021-11-25 22:36 编辑

JavaScript es6中提供了类的关键字class,现在js可以通过class关键字模拟类的写法,看上去更像其他面向对象的语言(java、c++之类的)了;
然后我就尝试了一下新的写法,大家可以参考下:
JAVASCRIPT 代码复制
  1. //乘降窗口DriveWindow继承自Window_Command
  2. class DriveWindow extends Window_Command{
  3.         constructor(x,y){
  4.                 super(x,y);
  5.     }
  6.         makeCommandList(){
  7.                 this.addCommand("1号上车/下车",'onJu1',true);//队列里排序1的角色上车
  8.                 this.addCommand("2号上车/下车",'onJu2',false);//队列里排序2的角色上车,默认关闭
  9.                 this.addCommand("3号上车/下车",'onJu3',false);//队列里排序3的角色上车,默认关闭
  10.                 this.addCommand("取消",'cancel',true);
  11.         }
  12. }
  13. //乘降页面DriveScene继承自Scene_MenuBase
  14. class DriveScene extends Scene_MenuBase{
  15.         constructor(x,y){
  16.                 super(x,y);
  17.     }
  18.         create() {
  19.                 super.create(this);//调用父类Scene_MenuBase的create方法效果类似于:Scene_MenuBase.prototype.create.call(this);
  20.                 this._driveWindow=new DriveWindow(5,195);
  21.                 this.addWindow(this._driveWindow);
  22.                 this._driveWindow.setHandler('cancel',this.popScene.bind(this));//使得按取消可以返回上一视图,不然无法返回
  23.                 this._driveWindow.setHandler('onJu1',this.onDriveJu1.bind(this));
  24.                 this._driveWindow.setHandler('onJu2',this.onDriveJu2.bind(this));
  25.                 this._driveWindow.setHandler('onJu3',this.onDriveJu3.bind(this));
  26.         };
  27. }

旧代码

我又花了一些时间学习JS新的ES内容,原来ES6是15年新出的,(从某种程度上来说,已经不新了),有时间的话,会留下一些学习笔记,学习笔记尚杂乱。
以下部分内容参考于作者:zhoujie
来源:
https://www.cnblogs.com/zhoujie/p/node1.html
解构赋值
箭头函数=>
操作符...

2021-11-17_150053.jpg (130.13 KB, 下载次数: 26)

调用方式

调用方式

forTest.rar

1.69 KB, 下载次数: 8

测试的脚本内容

fortTest3.rar

2.66 KB, 下载次数: 7

学习笔记


作者: 清澈淌漾    时间: 2021-11-17 15:59
可读性增加了 还有别的提升吗
作者: 夏虫沉默    时间: 2021-11-17 17:29
清澈淌漾 发表于 2021-11-17 15:59
可读性增加了 还有别的提升吗

代码的运行效率并未提高,因为底层还是使用原型链的方式实现的模拟类的写法,所以要先理解之前的写法才能方便找BUG;
减少了部分代码量,也更方便整理了;
默认使用的是JS的严格模式,变相提升了编写者的逻辑思维;
还有一个疑问,我的帖子编辑里怎么没有代码块blockcode的设置呢
作者: 喵呜喵5    时间: 2021-11-17 20:54
清澈淌漾 发表于 2021-11-17 15:59
可读性增加了 还有别的提升吗

可读性增加还不够吗
早年为了增加这可读性甚至专门发明了个 CoffeeScript,写完代码还得多一步把代码从 CoffeeScript 转译成 js 才能用
作者: lightlanguage    时间: 2021-11-18 17:57
大佬有空吗。我有个MOD想叫你帮我写
作者: lightlanguage    时间: 2021-11-19 11:30
lightlanguage 发表于 2021-11-18 17:57
大佬有空吗。我有个MOD想叫你帮我写

emmm,可以私聊吗

作者: 笑谈风声    时间: 2021-11-19 15:14
大佬哇。支持,也在做mm类游戏吗




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1