我是新来的动作,我注意到动作脚本中的许多变量名以_开头,我想知道它的意义是什么?在ActionScript中看到几个变量名称的意义是什么?
回答
Actionscript中的私有变量往往在它们前面有一个_。然后你有没有_的getter/setter让他们公开访问。
在Actionscript 2.0中,_variable意味着它是一个对象的内置属性。但是,我在3.0之前停止使用Actionscript,所以我知道它可能已经改变为3.0。
您可能正在使用naming convention。从语言角度来看,没有特别的意义。
确实,在JavaScript中,人们用_表示“不要触及这个值”,因为控制JavaScript中的访问级别非常棘手......让变量真的无法从外部访问是一件非常痛苦的事情a ** ...
在ActionScript 2.0和1中,绝对没有规则...:D ...例如在类MovieClip
中,在ActionScript 2.0中,您有属性,如_x
和_y
。 ..但最好的事情是focusEnabled
vs _focusrect
,两个布尔人,一个确定,剪辑是否可以聚焦,其他是否有一个黄色的矩形,当聚焦...
无论这是真的涉及到一些东西从Flash播放器内部来,或者它仅仅是随机的......注意,_global
,_root
和_accProps
并除此之外,它只出现在的TextField
,MovieClip
和Button
性质...
__
(两个下划线)表示魔术在Flash Player ... __resolve
是一个相当神奇的方法......和__proto__
是一个神奇的属性,如果你愿意......而且,这不是很一致无处不在...
现在说到ActionScript 3.0,整个API不会使用任何下划线。 ..很多人,包括我在内,选择了与表示$
S和_
小号private
,protected
和internal
变量...但这是一个完全任意的命名惯例,应该使代码可读性,防止命名冲突......
格尔茨
back2dos
简单 - _ {您的变量名}意味着它是私有的。
在AS3,可以定义getter和setter等
public function get myVar():String
{
return _myVar;
}
此最终被类的透明外部并且表示作为
myclass.myvar
因此getter和setter在AS3基本上看起来像模糊特性。所以你需要一些方法来区分 - 所以你开始使用“_”。
这将有可能写
class Hello{
private var x:Number;
public function get x():Number{...}
public function set x(value:Number):void{...}
protected var y:Number;
public function get y():Number{...}
public function set y(value:Number):void{...}
}
但每ú访问它们来自类或子类中的时候,你就需要指定ü意味着其中之一,因为它们具有相同的名称(这是可能的,他们在不同的名字空间)。这看起来像
var before:Number = private::x;
或使用吸气:
var before:Number = public::x;
为保护瓦尔这将即使在所有子类未完待续...
人家那不喜欢的下划线可以使用任何其他语法使名称唯一,例如大写的第一封信给像c#中的getter和setter。
我倾向于在所有私有变量前添加“_”,即使没有getter或setters也是如此。这种方法允许我在任何函数操纵其私有变量时立即知道,同时浏览代码。这似乎是一件小事,但它可能非常有用。
尽量不要使用受保护的变量,除非你完全知道你在做什么。他们是邪恶的。你永远不会使用它的唯一原因是允许子类访问超类中的变量。但是,如果受保护变量的值对超类非常重要,那么超类永远不会知道子类是否修改它。更好的做法是保密,并为子类提供一个受保护的getter和/或setter,尽管这是一个更多的工作。通过这种方式,超类可以响应任何改变值的尝试。
- 1. 变量名称“lsSQL”是什么意思?
- 2. 在TensorFlow中,变量名称中“:0”的含义是什么?
- 3. 结构变量的名称是什么意思?
- 4. 什么是javascript的变量“名称”?
- 5. 在ActionScript Bytecode中,NewActivation是什么意思?
- 6. 在TensorFlow中“变量”是什么意思?
- 7. “斜坡”是什么意思在名称
- 8. x在变量地址中的意义是什么?
- 9. 在Ruby类中定义的普通变量是什么意思?
- 10. 在Objective-C中强调前缀变量名称是什么意思?
- 11. Actionscript中的$(var)是什么意思?
- 12. 变量++和变量是什么意思?
- 13. 什么是“hrtimer:interrupt x ns”是什么意思?在dmesg中看到
- 14. 变量之前括号中的类型名称是什么意思?
- 15. 验证输入变量的名称是否有意义?
- 16. ActionScript 3.0变量来存储MovieClip名称
- 17. javascript中的变量名称之后的新变量。为什么?
- 18. 单个变量名在Ruby中意味着什么?
- 19. C#中变量名称中@字符的用法/含义是什么?
- 20. 什么是:0在TensorFlow中名称的意思是?
- 21. C#中变量名之前的@符号是什么意思?
- 22. python中的双星跟随变量名是什么意思?
- 23. sql server:括号意味着列名称的含义是什么?
- 24. macOS Mach-O dylib LC_ID_DYLIB名称或install_name的意义是什么?
- 25. 速度更快的RCNN变量的名称或变量范围中的Momentum是什么意思?
- 26. 快乐中有效变量名称的规则是什么?
- 27. Javascript:变量名称中的冒号操作符是什么?
- 28. Objective-C中ID变量的替代名称是什么?
- 29. 什么是影子变量的tensorflow的意义和它的用途是什么?
- 30. 在ActionScript中获取变量名称的字符串?
我想这是一个命名约定,我想知道它是什么意思。 – Anton 2009-07-08 15:22:17