言語は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});