注册会员 登录
Project1 返回首页

判约之轮的个人空间 https://rpg.blue/?55246 [收藏] [复制] [分享] [RSS]

日志

js的一个奇妙语法,向函数里追加语句

已有 221 次阅读2016-5-24 21:04 |个人分类:学习笔记

虽然不像RGSS里那么简单易懂但是……虽然不知道原理是什么,居然是有效的,看下面的代码:
var a = function(){console.log(3)};
var b = a;a = function(){console.log(1);b();};
a();

我曾经以为控制台会输出1,1,但没想到实际输出是1,3
好吧……难道JS中变量赋值实际上是传递最深层的引用咩?无论如何这衍生出了一个奇妙的用法:
var Scene_Map_createMapNameWindow = Scene_Map.prototype.createMapNameWindow;
Scene_Map.prototype.createMapNameWindow = function() {
//做些别的什么
Scene_Map_createMapNameWindow.call(this);
};

这样即使别人修改了同样的类,也可以保持很高的兼容度了
Lucky

2016/06/04:修改了函数调用方式,之前的方式貌似不能正确执行

鸡蛋

鲜花

评论 (0 个评论)

facelist doodle 涂鸦笔

您需要登录后才可以评论 登录 | 注册会员

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-3-29 16:51

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

返回顶部