守望者--AIR技术交流

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: ANE FlasCC 炼金术
查看: 812|回复: 0

[ActionScript] AS3的原型:prototype

[复制链接]
  • TA的每日心情
    擦汗
    2018-4-10 15:18
  • 签到天数: 447 天

    [LV.9]以坛为家II

    1742

    主题

    2094

    帖子

    13万

    积分

    超级版主

    Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

    威望
    562
    贡献
    29
    金币
    51840
    钢镚
    1422

    开源英雄守望者

    发表于 2015-1-9 11:10:25 | 显示全部楼层 |阅读模式
    写过JS的都清楚原型:prototype,AS3也有这个机制,不多说,直接上代码:
    1. //给数组原型增加一个获取随机数组元素的方法:randomItem
    2. Array.prototype.getRandomItem = function(): *
    3. {
    4.     return this[Math.floor(Math.random() * this.length)];
    5. };
    6. //这里设置这个方法不可被(for...in、foreach...in)枚举,非常重要!
    7. Array.prototype.setPropertyIsEnumerable('getRandomItem', false);

    8. var arr:Array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

    9. trace(arr.getRandomItem());
    复制代码

    虽然看起来原型也牛逼,可以直接在运行时赋予某个对象一个功能函数,但是也因为如此我们在写代码的时候并不一定知道这个对象有个方法,由此给代码结构带来混乱,所以一般还是不要去扩展原型。

    当然总有原型的用武之地,之前看到有人利用原型机制对as代码进行加密解密来保护代码安全。

    作者:YoYo,原文地址:http://yoyo.play175.com/p/as3-prototype.html


    守望者AIR技术交流社区(www.airmyth.com)
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    
    关闭

    站长推荐上一条 /4 下一条

    QQ|手机版|Archiver|网站地图|小黑屋|守望者 ( 京ICP备14061876号

    GMT+8, 2020-6-5 02:02 , Processed in 0.043699 second(s), 37 queries .

    守望者AIR

    守望者AIR技术交流社区

    本站成立于 2014年12月31日

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