1

给定以下代码:

var test;
this.test = function() {
//...
};

$(document).ready(function() {
$(this).on('click', function(e) {
test = new test();
//...

我总是得到测试不是构造函数。为什么?

4

2 回答 2

1

@EDIT:构造函数,还向 Test 类型添加了一个变量:

function Test(){
    this.something = 'hello';
}

$(document).ready(function() {
    $(this).on('click', function(e) {
     var test = new Test();
     alert(test.something);
    });

});

这将导致带有“hello”文本的警报。调整您的代码,您还可以执行以下操作:

var test = {
    something: "hello"
};

$(document).ready(function() {
    $(this).on('click', function(e) {
     var test = new Object();
     alert(test.something);
    });
});
于 2013-05-04T08:36:56.717 回答
0

var test != this.test;

new test() 指向变量 test ,它不是您声明为函数的变量。

于 2013-05-04T08:54:08.570 回答