位操作:设置、取消 位
2009年7月8日
3 条评论
有时候需要用到并列的状态。
// 都是正数才管用的
var n:int = 5;
// 设置位
n |= flag;
// 取消位
~flag & n;
// 获取位
n & flag;
有时候需要用到并列的状态。
// 都是正数才管用的
var n:int = 5;
// 设置位
n |= flag;
// 取消位
~flag & n;
// 获取位
n & flag;
以前只知道getter setter给类实例用,今天无意中发现,原来getter setter还可以给静态类调用。
示例:
package
{
/**
* www.litefeel.com
* lite3@qq.com
* @author lite3
*/
public class getSetTest
{
// 静态成员
static private var _myWeb:String = "www.litefeel.com";
// 非静态成员
private var _myWeb:String = "www.litefeel.com";
// 静态 getter setter
static public function get myWeb():String { return _myWeb; }
static public function set myWeb(value:String):void
{
_myWeb = value;
}
// 非静态 getter setter
public function get myWeb():String { return _myWeb; }
public function set myWeb(value:String):void
{
_myWeb = value;
}
}
}
函数里可以使用this关键字,可以很方便的引用一个对象。
一般函数的 this 可以通过function.apply或function.call来修改this指向的对象。
不过在作为类的固有方法(类成员方法),则不能改变this对象。
阅读全文...
用的是正则表达式 + UTF-8
/**
* 测试是否有中文, 中文标点测试不出来
*/
function testChinese(str:String):Boolean
{
return / .*[\u4e00 -\u 9fa5] + .*$ / .test(str);
}
上午有个朋友让我帮他改相册, 是flash AS2的, 然后就想弄个纯AS的,O(∩∩)O~ 未完成的,O(∩∩)O~,完成了放 源码上来, 加载有点慢,请谅解 阅读全文...
位移操作符都好理解。
>> 与 >>> 要区别下。
示例
var unum:uint = 0xFFFFFF;
trace(unum<< 16 >> 16); // -1;
trace(unum<< 16 >>> 16); // 65535;
var xml:XML = new XML( <data>
<user>
<user id="1"/>
<user id="2"/>
</user>
</data> );
var xmlList:XMLList = xml.user.user;
var myXML:XML = new XML(<user id="3"/>);
insertXML(xmlList, myXML);
trace("-------- xmlList -----------");
trace(xmlList);
trace("---------- xml -------------");
trace(xml);
function insertXML(xmlList:XMLList, xml:XML):void
{
// 修改xmlList,建议用这个
xmlList[xmlList.length()] = xml;
// 不修改xmlList
//xmlList.parent().appendChild(xml);
}
2009.10.14更新
由于Flex的文件比较大,所以这里只做了TextField的示例, 其他的原理都一样的。
trace(loaderInfo.url.indexOf("file:///") != -1);
trace(new LocalConnection().domain == "localhost");
trace(Security.sandboxType != "remote");