给定以下代码:
var test;
this.test = function() {
//...
};
$(document).ready(function() {
$(this).on('click', function(e) {
test = new test();
//...
我总是得到测试不是构造函数。为什么?
给定以下代码:
var test;
this.test = function() {
//...
};
$(document).ready(function() {
$(this).on('click', function(e) {
test = new test();
//...
我总是得到测试不是构造函数。为什么?
@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);
});
});
var test != this.test;
new test() 指向变量 test ,它不是您声明为函数的变量。