質問

私は最初のOO JSライブラリを構築していますが、おそらく非常に簡単な1つの作品で少し問題があります...

私はこれを持っています:

var storageLocker = function(catalog){
    if(catalog){
        this.catalog = catalog;
    }
    //my code...
}()

jqueryのような他のライブラリが要素を選択できる場所(私の場合はローカルストレージアイテムを選択してください)を実行し、その他の機能をチェーンできる場合に行う必要があります。私はそのすべてが機能していましたが、ベストプラクティスのために、そしてそれをより拡張可能にするために、後で匿名の関数に入れました。

storageLocker('localStorageItem').save({"item":"an example item saved to localStorageItem"})

しかし、今、私が今その構文でそれを行うと、このエラーが返されます。

Uncaught TypeError: Property 'storageLocker' of object [object DOMWindow] is not a function

何か案は?

役に立ちましたか?

解決

を削除します () 関数本文の終わりに。

あなたが書いた var storageLocker = function(...) { ... }(), 、匿名関数を作成する、 それを呼びます, 、および割り当て 結果storageLocker.

それは同等です

function anonymous(...) { ... };
var storageLocker = anonymous();

関数が何も返さないので、 storageLocker 最終的になります undefined, 、および機能ではありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top