我有一个简单的对象构造函数,我的测试函数没有正确传递。
这是构造函数:
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);
}
然而,当我测试它时,我没有得到任何警报。我需要将它传递给一个更大的函数,它将对象存储在一个数组中。
答案 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();
您将收到警报。