什么是括号语法,它与点语法有何不同?使用括号语法而不是点语法有什么好处吗?你能给我举个例子吗?我是使用 ActionScript 3.0 编程的新手,我无法理解括号语法的工作原理。
谢谢您的帮助!
什么是括号语法,它与点语法有何不同?使用括号语法而不是点语法有什么好处吗?你能给我举个例子吗?我是使用 ActionScript 3.0 编程的新手,我无法理解括号语法的工作原理。
谢谢您的帮助!
使用括号语法而不是点语法有什么好处吗?
当然有:
object["foo.bar"] // refers to foo.bar property of object
object.foo.bar // refers to bar property of foo which is a property of object
要解析任何对象的此类属性,.
您需要使用方括号表示法,因为点表示法会以其他方式解释它。
另一个区别是查找时间。如果您使用点语法,编译器将在编译时知道您正在访问该对象的属性。如果使用方括号语法,则属性的实际查找是在运行时完成的。因此 :
object[someKey] // the runtime value of someKey will be used to get a property
object.someKey // resolves to someKey property of an object.
最后,点表示法比括号表示法更快。
对于 AS3 中的对象,如果您想使用字符串或字符串变量来引用对象上的某些属性,则可以使用方括号而不是点语法。
例如
var myObj:Object = {someProperty:"Some Value"};
trace(myObj['someProperty']); //Outputs: Some Value
trace(myObj.someProperty); //Outputs: Some Value
var myProperty:String = "someProperty";
trace(myObj[myProperty]); //Outputs: Some Value
for(var property in myObj)
{
trace(myObj[property]); //trace out each properties value of myObj
}