Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 临时变量_Actionscript 3_Variables_Temp - Fatal编程技术网

Actionscript 3 临时变量

Actionscript 3 临时变量,actionscript-3,variables,temp,Actionscript 3,Variables,Temp,我想知道当我写这样一个临时变量时有什么不同(这些只是示例): 版本1 for each tempEnemy in enemyManager.enemies { var tempX:int = tempEnemy.x; } 或者这个: 版本2 for each tempEnemy in enemyManager.enemies { tempEnemy.oldX = tempEnemy.x; } 什么是对与错?目前我写的是第2版,我不确定是否应该改成第1版。有人能帮我解决这个问题吗?我知道大多数

我想知道当我写这样一个临时变量时有什么不同(这些只是示例):

版本1

for each tempEnemy in enemyManager.enemies {
var tempX:int = tempEnemy.x;
}
或者这个:

版本2

for each tempEnemy in enemyManager.enemies {
tempEnemy.oldX = tempEnemy.x;
}

什么是对与错?目前我写的是第2版,我不确定是否应该改成第1版。有人能帮我解决这个问题吗?我知道大多数开发人员都像版本1一样编写,但我有点困惑,因为我完全不知道版本1。如果我使用版本1,这是否意味着我的值显式存储在每个周期中清除的临时变量中

在第1版声明中:

var tempX:int
定义一个变量,该变量的持续时间仅与for(或for each)循环的迭代时间相同。定义每个迭代
tempX
,并从
对象中给定一个值,最后将其留给垃圾收集

在版本2中,您引用了两个附加到名为
tempfound
的临时变量所引用的
敌军
对象的变量

在这两个版本中,对
敌方
对象tempbound的引用被重新分配给下一次迭代的
敌方
对象

每种方法都有其优点。从内存的角度来看,版本2可能更好,因为它反复更改现有变量,而不是创建一个在每次迭代结束时丢弃的新变量。另一方面,版本1不要求您在其类变量中定义
oldX
,如果没有这些类型的变量,这些变量通常会变得非常糟糕

代码的最佳实践是基于(a)与其他程序员一起工作,他们需要能够阅读和理解代码,以及(b)离开一个项目,稍后再回来,您需要能够阅读和理解自己的代码。对于不打算共享的短期项目,版本2是可以的(并且可能更节省内存),但任何大型项目都应该使用类似版本1的东西


另一个需要考虑的问题是,除了定义(设置)该变量的函数之外,是否还要在其他任何地方使用该变量?如果不是,则不需要将其存储在对象中,该对象再次指向版本1。

在版本1中,声明:

var tempX:int
定义一个变量,该变量的持续时间仅与for(或for each)循环的迭代时间相同。定义每个迭代
tempX
,并从
对象中给定一个值,最后将其留给垃圾收集

在版本2中,您引用了两个附加到名为
tempfound
的临时变量所引用的
敌军
对象的变量

在这两个版本中,对
敌方
对象tempbound的引用被重新分配给下一次迭代的
敌方
对象

每种方法都有其优点。从内存的角度来看,版本2可能更好,因为它反复更改现有变量,而不是创建一个在每次迭代结束时丢弃的新变量。另一方面,版本1不要求您在其类变量中定义
oldX
,如果没有这些类型的变量,这些变量通常会变得非常糟糕

代码的最佳实践是基于(a)与其他程序员一起工作,他们需要能够阅读和理解代码,以及(b)离开一个项目,稍后再回来,您需要能够阅读和理解自己的代码。对于不打算共享的短期项目,版本2是可以的(并且可能更节省内存),但任何大型项目都应该使用类似版本1的东西

另一个需要考虑的问题是,除了定义(设置)该变量的函数之外,是否还要在其他任何地方使用该变量?如果不是,则不需要将其存储在对象中,该对象再次指向版本1。

另外。。。 添加:variableType(int、String、Number等)有助于代码提示和调试。

另外。。。
添加:variableType(int、String、Number等)有助于代码提示和调试。

非常感谢!这个答案非常详细,而且更容易回答:)现在请回答您的问题:是的,在其他一些情况下也需要名为tempDebuy.oldX的临时变量(但并不总是如此)。它有很多代码,我不打算把它的一部分给其他开发人员,因为我现在自己工作。非常感谢!这个答案非常详细,而且更容易回答:)现在请回答您的问题:是的,在其他一些情况下也需要名为tempDebuy.oldX的临时变量(但并不总是如此)。它有很多代码,我不打算把它的一部分给其他开发人员,因为我现在自己工作。