虽然不像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:修改了函数调用方式,之前的方式貌似不能正确执行