我在论坛听到过不同的事情,但无法找到obj [name]和obj.name之间区别的具体答案。编译器对待它们的方式不同吗?ActionScript中obj [name]和obj.name有什么区别?
0
A
回答
5
取决于如果obj是动态类或不。 obj [name]是一个属性的运行时检查,如果obj.name不存在,obj.name会产生编译时错误。
4
实际上,它的OBJ [表达]对obj.identifier
前者总是导致运行时动态查找,而后者则可并且将在编译时进行检查。因此,如果obj被密封(即不是动态的)并且没有与标识符相匹配的属性,则会产生编译时错误。另外,如果该属性不是动态的(即,动态对象的运行时添加属性),但是在对象类中定义,则该信息用于执行更快的查找。
总结:相比于OBJ [表达],obj.identifier是类型安全和signifficantly更快
2
var foobar:String = "id";
var obj:Object = new Object{ id:"the value of variable" };
trace(obj.id); // the value of variable
trace(obj[ foobar ]); // value of variable
你可以使用[]的方法,如果它是一个变量,而您没有名称
相关问题
- 1. WPF:'Name'和'x:Name'有什么区别?
- 2. Info.plist和[app name] -Info.plist有什么区别?
- 3. Name和x:Name有什么区别?
- 4. Name和CanonicalName有什么区别?
- 5. Angular2 Form输入中的#name和[(ngModel)] =“name”有什么区别?
- 6. flex mxml和actionscript-3有什么区别?
- 7. java - 条件中(obj!= null)和!(obj == null)有什么区别?
- 8. “Exchange Legacy Distinguished Name”和“Active Directory Distingushed Name”之间有什么区别?
- 9. `$ this-> name`和`$ this - > $ name`之间有什么区别?
- 10. 编写`:name =>“String”`和`name:“String”`有什么区别?
- 11. 使用./configure(php)--disable- [name]和--without- [name]之间有什么区别?
- 12. .getAttribute(“name”)和.name之间有什么区别?
- 13. Vue.js中{{name}}和{{{name}}}之间的区别是什么
- 14. Javascript中的var name = function(){}和函数名(){}有什么区别吗?
- 15. org-mode中#+ NAME和#+ LABEL有什么区别?
- 16. 目标c中的(NSString)* name和(NSString *)名称有什么区别?
- 17. 函数调用和goto&NAME在Perl中有什么区别?
- 18. 在弹簧配置中,使用name和id有什么区别?
- 19. obj c函数中(+)和( - )运算符有什么区别
- 20. 有什么区别`和$(Bash中有什么区别?
- 21. Actionscript中的URLLoader和URLRequest有什么区别?
- 22. FUNCALL和#'function-name in common lisp有什么区别?
- 23. ng-model =“name”和ng-model =“user.name”有什么区别
- 24. iphone中obj = nil和[obj removeFromSuperview]的区别?
- 25. javascript obj.onclick和prototype的Event.observe(obj,'click',fn)有什么区别?
- 26. .LIB和.OBJ文件有什么区别? (Visual Studio C++)
- 27. ActionScript 2.0和ActionScript 3.0之间的区别是什么
- 28. 有什么区别:。!和:r!?
- 29. ==和===有什么区别?
- 30. Actionscript 3,尺度和尺寸之间有什么区别
此外,它obj ['名称']有一些明显的用例,否则根本不可能(动态查找) – 2010-02-17 01:37:26