我见过很多单身人士的实现,我只想要一个单身人士
1.-第一次调用的实例2.-实例只有一次(duh)
因此,在性能和最低内存消耗方面,最好的实现是什么?
例1
package Singletons
{
public class someClass
{
private static var _instance:someClass;
public function AlertIcons(e:Blocker):void{}
public static function get instance():someClass{
test!=null || (test=new someClass(new Blocker()));
return _instance;
}
}
}
class Blocker{}
Run Code Online (Sandbox Code Playgroud)
例题
public final class Singleton
{
private static var _instance:Singleton = new Singleton();
public function Singleton()
{
if (_instance != null)
{
throw new Error("Singleton can only be accessed through Singleton.instance");
}
}
public static function get instance():Singleton
{
return _instance;
}
}
Run Code Online (Sandbox Code Playgroud)
例3
package …Run Code Online (Sandbox Code Playgroud) 运营商在指令上评估什么?
喜欢:
var flag:Boolean=true;
flag && trace("1") && trace("2") && trace("3");
Run Code Online (Sandbox Code Playgroud)
输出:1 2 3
var flag:Boolean=true;
flag && trace("1") || trace("2") || trace("3");
Run Code Online (Sandbox Code Playgroud)
输出1
或者运算符在idk下打破句子的情况......
编辑:好的,现在我看到句子如何与运算符一起工作,但是任何指令没有返回值被评估为真?
看来你无法评估你想要的任何指令,例如:
private function any():void{
true && return;
}
Run Code Online (Sandbox Code Playgroud)
这将引发编译错误.
编辑:在这种情况下,它的行为与第二个示例不同:
true && one() || two() || three();
Run Code Online (Sandbox Code Playgroud)
功能
private function one():void{
trace("1");
}
private function two():void{
trace("2");
}
private function three():void{
trace("3");
}
Run Code Online (Sandbox Code Playgroud)
输出:1 2 3
编辑:分配值:
var a:int;
(a=1) || trace("1");
(a=2) && trace("2");
Run Code Online (Sandbox Code Playgroud)
输出:2
编辑:
||返回expression1如果为true或可以转换为true,否则返回expression2
&& "返回expression1,如果它为false或者可以转换为false,则返回expression2.可以转换为false的值的示例是0,NaN,null和undefined".
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/operators.html#logical_OR
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/operators.html#logical_AND
我怎样才能遍历类实例的所有变量?它似乎适用于常规对象......
编辑:这样做=)
var test:anyClass=new anyClass();
var someObject:Object={val1:"object string",val2:111,val3:new Date()};
var xmlList:XMLList=describeType(anyClass)..variable;
for each(var key:* in someObject)
trace(String(key));
for each(var item:XML in xmlList)
trace(String(test[item.@name]));
Run Code Online (Sandbox Code Playgroud)
输出:对象字符串111 Thu Nov 8 11:19:27 GMT-0700 2012 class string 222 Thu Nov 8 11:19:27 GMT-0700 2012
public class anyClass
{
public var val1:String="class string";
public var val2:int=222;
public var val3:Date=new Date();
}
Run Code Online (Sandbox Code Playgroud)