0

そこで、コードネームjBam(Javascript Browser Algorithm Module)という新しいJavaScriptアルゴリズムを作成しています。これは、ブラウザーとそのバージョンを検出する非常に簡単な方法を作成するために使用されます。私の主な目標は、これを(ライブラリを接続した状態で)記述できるようにすることです。

if(IE & version lessThan 9) {
    // IE code for 8 and below
}

現在、進歩はかなり順調に進んでいます。書ける

if(browser == IE & version < 9)

だから、私の元の質問に戻って、私が知りたい唯一のことは、おそらく何らかの方法で変数をlessThan設定し、それをシンボルと等しく設定すること<です。私はおそらく最も一般的な救済策(var lessThan = <)を試しましたが、もちろん、それは少し希望的すぎて、少し簡単すぎます。そして、私たち全員が知っているように、簡単すぎることはありません。何か提案はありますか、おそらく私が考えていないJavaScriptの保存ですか?

4

1 に答える 1

1

私は@ JCOC611に同意しますが、すべてをオブジェクトの一部にしてから、versionオブジェクトをプロパティとして作成することも可能lessThanです.

var browserStuff = {
    browser: {
        value: "",
        is: function (comparator) {
            if (browserStuff.browser.value == comparator) {
                return true;
            }
            return false;
        }
    },
    version: {
        value: "",
        lessThan: function (comparator) {
            if (browserStuff.version.value < comparator) {
                return true;
            }
            return false;
        }
    },
    init: function () {
        // Do your stuff to determine the browser and its version
        // You need to set browserStuff.version.value and browserStuff.browser.value
        delete browserStuff.init;
    }
}.init();

そして、次のように使用します。

if (browserStuff.browser.is("IE")) {

}

また

if (browserStuff.version.lessThan("7")) {

}

「より大きい」や「等しくない」などをさらに追加する必要がありますが、それは最初の一歩にすぎません。

通常の Javascript 演算子を使用して、冗長性の少ないコードで同じことを簡単に実行できるため、これを正確に提案することはできません。この解決策は、より「読みやすい」テーマ向けですが、決して必要でも、より良いものでもありません。

于 2012-09-15T02:42:22.067 に答える