flex {as总结}
作为一个不入流的flex开发人员总结一下不入流的感悟。
我一定要记住,as中的变量的作用范围只有两种,function和class,所以要想用闭包就需要一个createFunction的东西才行,不要妄想在for循环中用闭包了。看了一下as3的参考,发现它的前世和lua还真像,as3的继承其实还是prototype来做的,就是lua的元表了,但是as3的代码看起来很像java了,lua会不会也披上OO这个羊皮呢?as3对prototype做了优化,它有static object这一说,不能动态添加属性了,好像在朝着脱离脚本语言的方向发展了。as3的正则和lua的也像。as3的类型算多了,强类型的语言。
在flex的xml解析中,如果是用object,那么如果一个节点只有一个元素就不是数组了,这个是猫腻,导致遍历的时候不能用for了,只好改用xmlList.flex和AJAX在服务器访问上很接近了, flex可以支持socket连接,这个算不错了。
做界面的时候,数据绑定这个还是很管用的,再加上repeater控件,可以消除大部分的循环遍历了。flex做客户端还是很方便的。对网页游戏的架构很感兴趣,还没找到可靠的资料。
会不会有一天java的客户端应用被flash彻底代替?看起来java没有任何优势。
相关文档:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%"
viewSourceURL="srcview/index.html" backgroundColor="0x000000" layout="absolute">
<mx:Script>
&nb ......
1、当创建一个数组的时候避免用new操作符,用 var a:Array = [];而不用var a:Array = new Array();
2、快速的复制一个数组:
var copy : Array = sourceArray.concat ();
3、设置一个数组的值是非常忙的:
employees.push ( employee ); employees[2] = employee;
4、从一个数组中取得值的速度是设置一个数组值的两倍 ......
<mx:DataGrid id="dg" click="select()" dataProvider= "{modelLocator.resultList}" borderStyle="none"
verticalGridLines="false" horizontalGridLines="false" verticalScrollPolicy="off" rowCount="10"
fontSize="16" fontStyle="normal" fontThickness="0" width="100%" height="100%">
<mx:columns& ......
在Flex里,一般的弹出窗口(除了Alert以外)都可以用TitleWindow组件完成,主窗口和TitleWindow的数据传输可以用以下方法
假设TitleWindow的实例文件为titleWin.mxml,则要在Application中用PopUpManager创建一个titleWin的引用
private var popWin:titleWin = titleWin(PopUpManager.createPopUp(this,titleWin,true) ......
以下介绍几种最为常见和实用的FLEX与现有开发语言通信的方法:
1.C#
2.PHP
3.JAVA
1.Flex与C#通信(.net开发中常用)
Flex端代码:
public static function SendMessage(objXML:XML,objResultHandle:Function):void
{
var objHttpService:HTT ......