2

このように書かれたBackbone-relationalのようなjavaScriptを見ました:

( function( undefined ) {
    "use strict";
        // some code
})();

私の質問は、未定義のパラメータをいつ使用する必要があるかということです。常にまたは特別な状況で?

4

2 に答える 2

2

Javascriptでは、undefinedは特別なキーワードではありません。これは通常のグローバル変数です。

外部コードによって変更された場合undefined、奇妙なバグを引き起こす可能性があります。一部の人々は、の関数宣言で未使用のパラメーターを宣言しているため、関数には既知の値でundefined呼び出される変数があります。undefinedundefined

var undefined関数本体で同じことを行いますが、さらに数バイト必要です。

于 2012-09-18T13:47:40.773 に答える
1

ほとんどの場合、そのパターンを見ると、「未定義」が本当に未定義であることを確認しています。下部で、どのように引数を渡さないかを確認してください。

これは自己実行関数であり、パラメータを渡すことができます。

(function(undefined) {  // no parameters are passed in so undefined is undefined.
 "use strict";

})(/*no parameters passed*/)

コードでundefinedを使用していて、他のjavascriptライブラリがundefinedの意味を変更しないようにする必要がある場合は、このパターンを使用することをお勧めします。ただし、これは一般的に発生するものではなく、単なるセーフティネットです。何らかの理由で、javascriptの「undefined」は他の変数と同じように値を設定できます。

于 2012-09-18T13:46:01.510 に答える