您的位置:首页 > Web前端 > JavaScript

在Flex中使用JSON对象为属性赋值

2008-12-03 18:23 501 查看
在Flex中使用JSON对象为属性赋值



JavaScript中,JSON的简洁和强大令人印象深刻。ActionScript3作为一种从JavaScript语言发展起来的语言,依然可以使用JSON。

依然可以 var object={a:1,b:”b”,c:”1111”};这样的JSON形式创建ActionScript对象。

在JavaScript中,我们常常在new 对象时,通过传入{……}这样的JSON数据方便地初始化对象。

在ActionScript中,我们依然可以这样做。

样例代码:

package

{

public class ConstructTemplate

{

private var thisA;

private var thisB;

private var thisC;

/**

* 使用JSON对象进行参数构造

*/

public function ConstructTemplate(...args)

{

//TODO: implement function

/**

*

* 我们把它的属性取出来,赋给this的各个同名属性。

*/

for( var i:int=0;i<args.length;i++){

this.initProperties(args);

}

}

/*

可以在构造对象后为参数赋值。

*/

public function initProperties(...args)

{

[i]//TODO: implement function


/**

*

* 我们把它的属性取出来,赋给this的各个同名属性。

*/

for( var i:int=0;i<args.length;i++){

for(var name:String in args[i]){

this[name] =args[i][name];

}

}

}

public function set a(a){

this.thisA=a;

}

public function get a(){

return this.thisA;

}

public function set b(b){

this.thisB=b;

}

public function get b(){

return this.thisB;

}

public function set c(c){

this.thisC=c;

}

public function get c(){

return this.thisC;

}

}

}

使用代码:

var constructTemplate= new ConstructTemplate({a:"a"},{a:100,b:"B"},{thisC:"thisC"});

现在在ActionScript3中使用JSON对象初始化属性有特殊的意义。

因为,ActionScript3不支持函数重载。而且在严格模式下,给方法传入参数时,数量和类型必须一致,否则编译不过。

因此,使用...args这样的技术就尤为重要。

ActionScript3中构造器只能有一个。使用上面这样的构造器无疑是最灵活的。

既然ActionScript3无法 重载函数,那么大量使用args模拟函数重载就是大有可为的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐