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

Project1

 找回密码
 注册会员
搜索
查看: 2485|回复: 9
打印 上一主题 下一主题

[有事请教] 为什么重写Game_Action.prototype.itemEffectGrow函数不行

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3414
在线时间
461 小时
注册时间
2013-12-7
帖子
333
1
发表于 2018-5-6 15:31:24 | 显示全部楼层
Game_Action_itemEffectGrow.call(this);  
改成
Game_Action_itemEffectGrow.apply(this, arguments);
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3414
在线时间
461 小时
注册时间
2013-12-7
帖子
333
2
发表于 2018-5-6 15:38:19 | 显示全部楼层
我不得不说,你得注释颇具喜感。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3414
在线时间
461 小时
注册时间
2013-12-7
帖子
333
3
发表于 2018-5-6 18:08:56 | 显示全部楼层
本帖最后由 ekmomo 于 2018-5-6 18:10 编辑

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

综上,是的,带参数的都推荐这么写。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2024-5-13 15:40

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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