无法调用新对象Javascript

时间:2017-06-27 17:15:11

标签: javascript jquery oop

desiredData desiredProperty1 desiredProperty2 1: 700 3 3 2: 1200 5 7 3: 1200 5 7 4: 1200 5 7 5: 100 9 9 我创建了一个新的javascript文件/对象(文件2),但我试图在文件1中创建新对象;我得到一个"对象没有定义错误"。我在aspx文件中有引用。

JS File 1

enter code here

Js File 2

dosomething function()

{

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

这是错误

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

1 个答案:

答案 0 :(得分: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>

你现在应该从localhost获得响应(例如我的响应): function(n,t,i){var r = n,u = t,f = i; return“我是返回字符串” }