构造函数不能正常工作

时间:2014-06-13 23:37:39

标签: javascript arrays function object alert

我有一个简单的对象构造函数,我的测试函数没有正确传递。

这是构造函数:

function objCon(name,count) { //object constructor
    this.name = name;
    this.count = count;
}

这是测试功能:

function testing() {
    var here = new objCon(n, 2);
    alert(here.name + ":" + here.count);
}

然而,当我测试它时,我没有得到任何警报。我需要将它传递给一个更大的函数,它将对象存储在一个数组中。

3 个答案:

答案 0 :(得分:3)

JavaScript区分大小写。

var here = new ObjCon(n, 2);
               ^

您已将自己的功能定义为objCon,但在其中使用了大写O

答案 1 :(得分:0)

您应该在控制台中看到引用错误,因为:

    var here = new objCon(n, 2); // <-- n is not declared or otherwise initialised

因此,为n传递合适的值,例如

    var here = new objCon('Fred', 2);

或者也许:

    var n = 'Fred';
    var here = new objCon(n, 2);

此外,构造函数名称的第一个字母通常大写以显示它是构造函数,因此:

function ObjCon() {
  ...
}
...
    var here = new ObjCon('Fred', 2);
...

答案 2 :(得分:0)

正确答案可以从上面的所有部分构成, 但是你错过的最重要的事情是你只有定义的测试, 你实际上没有调用它

换句话说,函数 testing 现在存在,但你还没有告诉它运行。

function objCon(name,count) { //object constructor
    this.name = name;
    this.count = count;
}

function testing() {
    var here = new objCon('n', 2); // modified to insert a string. n doesn't already refer to anything, but 'n' is a valid string that can be passed in as an argument.

    alert(here.name + ":" + here.count);
}

现在要调用它:

testing();

您将收到警报。