1
2
我想你得到了所有可能的技术答案。我将详细说明我认为是最好的方式来处理这个语言明智。 在AS3这样的OOP语言中,不推荐使用原型(主要是因为它们不支持封装)。你暗示你不想让别人感到困惑(关于split.join);好吧,AS3中的原型非常令人困惑。 作为一个例子,原型声明可以在代码中的任何地方完成,因此它应该位于哪里并不明显。如果“其他人”在代码中遇到“foo.replaceAll(),那么在哪里可以找到该方法并检查它的真正功能就一点都不明显了。
如果需要性能,可以选择split.join。我敢打赌更多的AS3开发人员知道split.join而不是原型的使用。 另一方面,我认为最具语义和实用性的方法是使用自己的语言方法(因此我之前的答案)。您正在尝试用AS3中的另一个字符串替换字符串中的所有指针,为此,该语言使用带有全局标志的string::replace方法。我确信有一种方法可以轻松地解析和使用regexp中的任何字符串。
|
2
7
第二个答案是: 为String编写包装类StringEx,可以将replaceAll定义为如下链接
您可以在此处获取完整版本: OOP way of prototype extension - wonderfl build flash online |
3
1
为什么不?对于简单的字符串替换来说,这是非常直接和有效的:
或者如果您愿意:
我不建议使用这个原型,它不是很面向对象或标准。。。对于这样一个简单的操作来说,感觉太粗糙了。 |
4
1
我想不出一个办法来满足你的4个要求。但我认为,如果您的主要目标是一次性替换各种令牌(您希望通过链式调用实现的目标),同时能够使用任何字符串作为令牌,则可以尝试以下方法:
|
5
0
升级版:
还有一些在黑名单中没有提到的解决方案(顺便说一句,静态功能比使用prototype-imho要好):
|
6
0
我有两个答案给你。第一个就是你想要的。但我推荐第二个。 在flex中启用原型非常简单,可以通过设置flex config来完成 替换所有测试.as
我仍然不鼓励这样做,因为启用原型和关闭严格模式会减慢代码的速度。 |
7
0
|
nabster023 · 拉伸和旋转电影剪辑而不失真 6 年前 |
Dimentio · 无限循环(动作脚本3) 6 年前 |
nabster023 · 自动检测AS3中输入文本字段的值 7 年前 |
nabster023 · 在新窗口中打开SWF文件 7 年前 |
Larocque · 1084:语法错误:函数前应为右括号 7 年前 |
user979331 · ActionScript 3缩放和滚动问题 7 年前 |
guest343435 · 错误#2007:参数文本必须非空 7 年前 |