设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索

为什么重写Game_Action.prototype.itemEffectGrow函数不行

查看数: 2686 | 评论数: 9 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-5-6 13:30

正文摘要:

重写函数 JAVASCRIPT 代码复制var Game_Action_itemEffectGrow =Game_Action.prototype.itemEffectGrow; Game_Action.prototype.itemEffectGrow = function() { & ...

回复

ekmomo 发表于 2018-5-6 18:08:56
本帖最后由 ekmomo 于 2018-5-6 18:10 编辑

是call不是all。
这俩都是改变this指向用得,你可以理解为把代码复制到这里来。
作用一摸一样,就是写法不一样。call第二个形参及以后是原函数的参数,而apply只接受两个参数,第一个是this指向,第二个是以数组的形式传递原函数参数。而arguments是绝大部分函数本身都有的一个伪数组(Function自带的,它里面就是各个实参),所以写apply(this,arguments)更方便,也不容易出错。

综上,是的,带参数的都推荐这么写。
风之竹 发表于 2018-5-6 17:50:16
本帖最后由 风之竹 于 2018-5-6 17:57 编辑
ekmomo 发表于 2018-5-6 15:31
Game_Action_itemEffectGrow.call(this);  
改成
Game_Action_itemEffectGrow.apply(this, arguments);


大佬apply 和all  什么区别啊
风之竹 发表于 2018-5-6 17:47:06
ekmomo 发表于 2018-5-6 15:38
我不得不说,你得注释颇具喜感。

这个不是我注释的  是我下载别的大佬 机译的 原文件
ekmomo 发表于 2018-5-6 15:38:19
我不得不说,你得注释颇具喜感。
ekmomo 发表于 2018-5-6 15:31:24
Game_Action_itemEffectGrow.call(this);  
改成
Game_Action_itemEffectGrow.apply(this, arguments);
shitake 发表于 2018-5-6 15:06:34
除了上边说的 js中必须明确用 return 指出返回值
翻滚牛宝宝 发表于 2018-5-6 15:02:01
参数漏了啊 少年
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-9-30 07:06

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表