在Flex中使用JSON对象为属性赋值
2008-12-03 18:23
561 查看
在Flex中使用JSON对象为属性赋值
JavaScript中,JSON的简洁和强大令人印象深刻。ActionScript3作为一种从JavaScript语言发展起来的语言,依然可以使用JSON。
依然可以 var object={a:1,b:”b”,c:”1111”};这样的JSON形式创建ActionScript对象。
在JavaScript中,我们常常在new 对象时,通过传入{……}这样的JSON数据方便地初始化对象。
在ActionScript中,我们依然可以这样做。
{
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;
}
}
}
现在在ActionScript3中使用JSON对象初始化属性有特殊的意义。
因为,ActionScript3不支持函数重载。而且在严格模式下,给方法传入参数时,数量和类型必须一致,否则编译不过。
因此,使用...args这样的技术就尤为重要。
ActionScript3中构造器只能有一个。使用上面这样的构造器无疑是最灵活的。
既然ActionScript3无法 重载函数,那么大量使用args模拟函数重载就是大有可为的。
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模拟函数重载就是大有可为的。
相关文章推荐
- 在Flex中使用JSON对象为属性赋值
- javascript的json对象中属性名使用uuid
- artTemplate--使用artTemplate时,由于json对象属性有数字命名格式 导致调用报错 syntax error
- 对象转换成json串时,将null属性去除;以及枚举类的使用
- 使用json文件为当前类文件属性赋值(org.nutz.json.Json)
- artTemplate--使用artTemplate时,由于json对象属性有特殊格式 导致调用报错artTemplate,syntax error,Template Error
- 使用Json字符串对model对象赋值
- json对象,使用 “ . ”获取值是,不能使用变量作为属性名。
- json:创建一个对象,其它一个属性是数组;创建一个对象,使用function作为属性值
- JSONObject与JSONArray的使用3--Java对象属性的添加或删除(JsonConfig)
- 使用Gson json转对象(list)时,某属性对应json值为空,不能转成功
- JS面向对象(2) -- this的使用,对象之间的赋值,for...in语句,delete使用,成员方法,json对象的使用,prototype的使用,原型继承与原型链
- java使用反射给对象属性赋值的两种方法
- Wpf 使用标签扩展为对象的属性赋值。
- JS遍历类、json对象属性、值,方便统一赋值
- 取出json中[{},{}] 的数据 ,使用 for-in 来循环对象的属性
- java使用反射给对象属性赋值的两种方法
- Springboot使用@JsonView过滤对象属性
- C#的DataTable使用JSON对象赋值
- 原创:新手布局福音!微信小程序使用flex的一些基础样式属性