在javascript对象构造中发生的一些非常奇怪的事情

时间:2012-07-28 00:24:13

标签: javascript

这真是奇怪。我已经创建了一个图像处理对象,它存储一个图像数组并在页面上显示它们,以及其他方法。但是,出于某种原因,它的表现非常奇怪。这是chrome的控制台日志:

default constructor imgHandler.js:16
[null] imgHandler.js:17
GET http://localhost:8080/cglst/images/null 404 (Not Found) jquery-1.7.2.min.js:4
    f.fn.extend.html jquery-1.7.2.min.js:4
    e.extend.access jquery-1.7.2.min.js:2
    f.fn.extend.html jquery-1.7.2.min.js:4
    update imgHandler.js:65
    $.ajax.success addform.php:239
    f.Callbacks.o jquery-1.7.2.min.js:2
    f.Callbacks.p.fireWith jquery-1.7.2.min.js:2
    w jquery-1.7.2.min.js:4
    f.support.ajax.f.ajaxTransport.send.d jquery-1.7.2.min.js:4

所以这里是imgHandler.js中的构造函数:

function imgHandler(imgString) {
    if (imgString != null && imgString != "null") {
        this.img = imgString.split(",");
        this.size = this.img.length;
        console.log("parametrized constructor")
        console.log(this.img);
    } else {
        this.img = Array("defaultimage.png");
        this.size = 0;
        console.log("default constructor")
        console.log(this.img);
    }

以下是addform.php的第238-240行:

                    imgHandle = new imgHandler(data.results[0].photos);
                    imgHandle.update();
                    updatePreview();

我不知道这是怎么可能的,因为我将this.img设置为一个图像文件名的数组,字面意思是console.log("default constructor")之前的两行......

0 个答案:

没有答案