0

言語はAS3ですが、問題ではありません。ほとんどすべてのコードは無視できます。私は今まで見たことがない関数のフォーマットに関する一連の特定の質問をしましたが、bulkLoaderを調べているときにこの関数で見つかりました。

次の質問は、後続のコード(大幅に編集されて意味がない)に関連しています。質問で求められている内容(ほぼ100%の構文)に答える以外に、コードをさらに理解する必要はありません。

チャンク1、質問1:パラメータにデータ型*を割り当てるとはどういう意味ですか?

チャンク2、質問2:!urlは、urlパラメーターでnull値をチェックするのと同じですか?

チャンク3、質問3:このステップの目的は何ですか?「またはステートメント」を使用して値を割り当てることの意味(このコンテキストでは意味がない場合がありますか?)、または空の「{}」が意味すること(空白の配列「[]」の代わりに?)がわかりません。 。呼び出されたときに文字列IDを使用してパラメーターを入力できるようにするものですか(つまり、チャンク5)

チャンク4、質問4:関数はどのようにしてパラメーターを配列として突然アドレス指定しますか?これはチャンク3がしたことの一部ですか?これがチャンク5の「id」によって値が設定される方法だと思います。

チャンク5、質問なし。これは関数呼び出しであり、IDと優先度(関数には表示されていません)を要求しますが、function({foo:blah、bar:bleh)とラベル付けされている限り、ユーザーは任意の数のパラメーターを入力できるようです。 })props ["foo"、"bar"]として関数内の文字列名が一致します。

誰かがここで何が起こっているのか知っていますか?非常に便利なようですが、手がかりを得るのに十分な構文を理解していません。

//チャンク1

public function add(url : *, props : Object= null ) : LoadingItem {

//チャンク2

if(!url || !String(url)){
            throw new Error("[BulkLoader] Cannot add an item with a null url")
        }

//チャンク3

props = props || {};

//チャンク4

        if (!props["id"] && _allowsAutoIDFromFileName){
            props["id"] = getFileName(url.url);
            log("Adding automatic id from file name for item:", item , "( id= " + props["id"] + " )");
        }

}

//チャンク5

bulkLoader.add("images/image1.jpg", {id:"item1", priority:100});    
4

1 に答える 1

2

質問 1: * は、任意のデータ型をパラメーターとして受け取ることができることを意味します

質問 2: はい、同じです

質問 3: オブジェクトが存在する場合はそれを取得するか、新しいオブジェクトを作成します。{} == new Object()

質問 4: オブジェクト内のプロパティをアドレス指定するもう 1 つの方法です。props["id"] == props.id

于 2013-03-02T15:45:55.010 に答える