我对JavaScript非常熟悉,现在我第一次玩Flex。显然这是一个奇怪的感觉,因为JavaScript和ActionScript就像他们在东南亚所说的“相同但不同”。对我来说,有一件事(就像所有静态语言一样)就是冗长。是否有任何速记技巧可以减少以下常见代码:
package com.mate.extensions {
public class HTTPResponse
{
public var data:String;
public var responseURL:String;
public var responseHeaders:Array:
public var status:Number;
public function HTTPResponse(data:String, responseURL:String, responseHeaders:Array, status:Number):void {
this.data = data;
this.responseURL = responseURL;
this.responseHeaders = responseHeaders;
this.status = status;
}
}
}
答案 0 :(得分:3)
我想这是你习惯的问题;我从Java来到AS3,对我来说,代码看起来非常合理。 :)
老实说,如果不在可读性或功能性方面受到重创,我认为你不能大幅削减这一点。 (当然,现在我已经说过了,我期待有人比我更聪明地证明我错了。)事实上,它实际上可能太简洁;使您的内部字段可公开访问通常被认为是糟糕的形式,并引发了令人头疼的问题。虽然关于AS3的一个可爱的事情是,由于处理getter和setter的方式,你可以从公共字段切换到访问者控制的私有字段,而无需对使用该对象的代码进行任何更改。
答案 1 :(得分:1)
如果你的问题是编码标准的冗长,你可以抛弃整个HTTPResponse类并用Object替换它。
var httpResponse:Object = { data: data, responseURL: responseURL, responseHeaders: responseHeaders, status: status };
但在这种情况下,您将错过编译时类型检查和代码可重用性。
ActionScript的优点在于它是相同的&不同。