2017-02-16 7 views
0

私のjsファイルは、特定の順序で1つのhtmlファイルにインポートされます。ここに私のjsファイルは次のように見えること例:未定義およびAMDなしのプロパティを設定できません

'use strict'; 

/** 
* @namespace NS.MODULE 
*/ 
(function (undefined) { 
    var NS = NS || {}; 

    if (undefined === NS.MODULE) { 
     NS.MODULE = {}; 
    } 
})(); 

/** 
* Module to handle the search form 
* 
* @namespace form 
* @memberOf NS.MODULE 
* 
* @type {} 
*/ 
NS.MODULE.form = (function ($, _, undefined) { 
    // body ... 
})(jQuery, _); 

非常に奇妙なエラーが

Uncaught TypeError: Cannot set property 'form' of undefined

を示し、それはNS.MODULE.formundefined === NS.MODULE前に実行されることを正常ですか?

答えて

1

NSはグローバルスコープにはありません。あなたはそれをiifeのスコープ内でのみ定義します。試してみよう:

window.NS = window.NS || {}; 

if (NS.MODULE === undefined) { 
    NS.MODULE = {}; 
} 
関連する問題