【问题标题】:Which (of the two below) approach of programming in actionscript is better/preferrable/performs better哪种(以下两种)在 actionscript 中的编程方法更好/更可取/性能更好
【发布时间】:2011-11-07 07:59:23
【问题描述】:

我的 actionscript 文件中有以下代码(在函数中定义)

var cmbSyncItems:Object = new Object();
cmbSyncItems = {tooltip:xmlContent.messages.cmbsync[0].tooltip, option1label:xmlContent.messages.cmbsync[0].option1[0].label, option1data:xmlContent.messages.cmbsync[0].option1[0].data, option2label:xmlContent.messages.cmbsync[0].option2[0].label, option2data:xmlContent.messages.cmbsync[0].option2[0].data};
cmbSync = new ObjectProxy(cmbSyncItems);

var btnFeedbackItems:Object = new Object();
btnFeedbackItems = {tooltip:xmlContent.messages.btnfeedback[0].tooltip, label:xmlContent.messages.btnfeedback[0].label};
btnFeedback = new ObjectProxy(btnFeedbackItems);

以下是一遍又一遍地使用相同的“项目”对象重写的代码。

var items:Object = new Object();
items = {tooltip:xmlContent.messages.cmbsync[0].tooltip, option1label:xmlContent.messages.cmbsync[0].option1[0].label, option1data:xmlContent.messages.cmbsync[0].option1[0].data, option2label:xmlContent.messages.cmbsync[0].option2[0].label, option2data:xmlContent.messages.cmbsync[0].option2[0].data};
cmbSync = new ObjectProxy(items);

items = new Object();
items = {tooltip:xmlContent.messages.btnfeedback[0].tooltip, label:xmlContent.messages.btnfeedback[0].label};
btnFeedback = new ObjectProxy(items);

items 对象将在同一个文件中重复多次(超过数百次)。

哪种编码方式更好(第一块还是第二块)?

如果我参加“第二场比赛”可以吗?使用第一种方法有什么不同吗(在内存消耗方面)?

【问题讨论】:

    标签: actionscript-3 coding-style standards


    【解决方案1】:

    我宁愿建议第三种选择:

    cmbSync = new ObjectProxy( { tooltip:xmlContent.messages.cmbsync[0].tooltip, 
                                 option1label:xmlContent.messages.cmbsync[0].option1[0].label, 
                                 option1data:xmlContent.messages.cmbsync[0].option1[0].data, 
                                 option2label:xmlContent.messages.cmbsync[0].option2[0].label, 
                                 option2data:xmlContent.messages.cmbsync[0].option2[0].data } );
    btnFeedback = new ObjectProxy( { tooltip:xmlContent.messages.btnfeedback[0].tooltip, 
                                     label:xmlContent.messages.btnfeedback[0].label } );
    

    更新
    如果所有对象都被声明为局部变量,那么第一种方法似乎不会占用太多内存,但是所有这些声明真的是不必要的

    【讨论】:

    • :) 非常好。你的回答是一个很好的解决方案。不需要额外的变量:) 谢谢
    猜你喜欢
    • 2010-09-23
    • 1970-01-01
    • 2016-06-27
    • 2012-09-28
    • 2017-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多