2017-06-27 51 views
0

enter code here我創建了一個新的JavaScript文件/對象(文件2),但我試圖在文件1中創建新對象;我得到一個「對象沒有定義的錯誤」。我在aspx文件中提供了參考。無法調用新對象Javascript

JS文件1個

dosomething function() 

{ 

    var RedNotesDisplay = new RedNotesDisplayController(redNotesArray, "22", draggedRowsContainer); 
} 

JS文件2

function RedNotesDisplayController(redNotesContent, JQueryPositionInformation, containerId) 
{ 
    var _redNotesContent = redNotesContent; 
    var _JQueryPositionFormation = JQueryPositionInformation; 
    var _containerId = containerId; 
    var _redNotesDiv = ""; 
} 

這裏的錯誤

var RedNotesDisplay = new RedNotesDisplayController(redNotesArray, "22", draggedRowsContainer); <- 'RedNotesDisplayController' is undefined 
+0

有沒有足夠的信息去這裏。你能澄清一下嗎?什麼行是錯誤的,等等。 –

+0

'dosomething function()'是無效的javascript。你的意思是'函數dosomething()'? – James

+0

它說錯誤是什麼意思?和redNotesArray,draggedRowsContainer定義 –

回答

0

試試這個。這裏發生的是我們正在創建一個名爲ns的名稱空間。這是另一篇文章,有助於闡述這個概念以及如何應用它。 How do I declare a namespace in JavaScript?

var ns = { 
    RedNotesDisplayController: function (redNotesContent, JQueryPositionInformation, containerId) 
    { 
     var _redNotesContent = redNotesContent; 
     var _JQueryPositionFormation = JQueryPositionInformation; 
     var _containerId = containerId; 
     var _redNotesDiv = ""; 
     return "i am return string"; 
    } 
}; 
var RedNotesDisplay = ns.RedNotesDisplayController([1,2,3], "22", "<div></div>"); 

// i use console.log to display the string in developer tools [Console] 
console.log(RedNotesDisplay); 

由於NS可以在另一頁是不確定的,你失去的範圍。試試這段代碼來驗證你的構造函數是爲了這個js。

<script type="text/javascript"> 
     var somethingNew = new ns.RedNotesDisplayController([1, 2, 3], "22", "<div></div>"); 
     alert(somethingNew.constructor); 
    </script> 

您現在應該從本地主機的響應(我例如響應):功能(N,T,I){VAR R = N,U = T,F = I;返回「我是回字符串「}

+0

'ns'未定義。 – jan86

+0

因爲ns是未定義的,所以你正在失去範圍。試試這段代碼來驗證你的構造函數是爲了這個js。 – Programmer