1

什么是括号语法,它与点语法有何不同?使用括号语法而不是点语法有什么好处吗?你能给我举个例子吗?我是使用 ActionScript 3.0 编程的新手,我无法理解括号语法的工作原理。

谢谢您的帮助!

4

2 回答 2

4

使用括号语法而不是点语法有什么好处吗?

当然有:

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.

最后,点表示法比括号表示法更快。

于 2013-07-20T06:58:07.473 回答
1

对于 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
}
于 2013-07-20T06:58:00.707 回答