[英]AS3: Is there an equivalent type like union in C++ for actionscript?
[英]Equivalent to “undefined” for Date type
我正在制作視頻播放器,但在使用flashvars時遇到了一些麻煩。 這就是我定義我的flashvars的方式:
var beginLive:Date = getFlashVar('beginLive', "undefined");
var endLive:Date = getFlashVar('endLive', "undefined");
我必須檢索那些變量的值(時間戳)。 我的功能是將秒轉換為秒/分鍾/小時->它正在計算流的預期持續時間。
這是我的getFlashVar函數:
//return the content for the flashvar specified by varName, if found, otherwise return the defaultvalue specified
function getFlashVar(varName:String, defaultValue:String):String {
var result:String = defaultValue;
if (undefined != paramsArray[varName] && '' != paramsArray[varName]) {
result = paramsArray[varName] ;
//ExternalInterface.call("displayVar", paramsArray);
}
return result;
}
我的問題是我必須將beginLive和endLive初始化為“ undefined”,但是它們的類型為Date,而“ undefined”是一個字符串。
日期類型是否有等同於“未定義”的內容? 如何初始化這些var,並避免Flash抱怨類型不兼容?
謝謝您的回答 :)。
莉亞
您可以添加一個便捷方法,該方法嘗試將getFlashVar
函數的結果字符串解析為Date對象。 如果可以將輸入字符串解析為日期,則返回Date
對象,否則返回undefined
。
public static function parseDateFromString(value:String):Date {
var dateObject:Number = Date.parse(value);
if (isNaN(dateObject)) {
return undefined;
}
return new Date(dateObject);
}
要使用它,請將返回值從getFlashVar
到parseDateFromString
如下所示:
var beginLive:Date = parseDateFromString(getFlashVar('beginLive', "undefined"));
var endLive:Date = parseDateFromString(getFlashVar('endLive', "undefined"));
輸出示例:
trace(parseDateFromString("01/30/2014")); // Thu Jan 30 00:00:00 GMT+0100 2014 (Date object)
trace(parseDateFromString("undefined")); // null (actually undefined)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.