簡體   English   中英

等同於日期類型的“未定義”

[英]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);
}

要使用它,請將返回值從getFlashVarparseDateFromString如下所示:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM