-3

私は非常に単純なコードを持っています。2 つのパラメーターをチェックします。最初のパラメーターが false の場合、Chrome 拡張機能のポップアップ アイコンが変更されます。それが true で以前は false だった場合は、アイコンが元に戻り、パラメーターが渡されない場合は現在の値が返されます。

問題は、どちらの方法でも、ブール値として渡される変数と最初のパラメーターの両方が文字列として解釈され、予期しない結果が生じることです。これが私のコードです:

var status = true;
var reason;
function isReady(statusT, reasonT) {
    "use strict";
    if (statusT === false) {
        chrome.browserAction.setIcon({
            path : "img/blue-sharingan.png"
        });
        status = statusT;
        if (reason !== undefined) {
            reason = reasonT;
            return;
        }
        return;
    }
    if (statusT === true && status === false) {
        chrome.browserAction.setIcon({
            path : "img/icon-32.png"
        });
        status = statusT;
        reason = null;
        return;
    }
    if (statusT === undefined && reasonT === undefined) {
        return {
            'status' : status,
            'reason' : reason
        };
    }
}

https://stackoverflow.com/a/653934/792066を読みましたが、何が問題なのかまだわかりません。

4

0 に答える 0