当前位置:  开发笔记 > 编程语言 > 正文

是什么导致此代码不起作用?

如何解决《是什么导致此代码不起作用?》经验,为你挑选了1个好方法。

我试图理解为什么这不起作用.(尚未验证的基本示例)

当我测试它时,找不到firebug状态的Product.addPage.

var Product = function ()
{
    var Page = function ()
    {
        var IMAGE = '';

        return {
            image : function ()
            {
                return IMAGE;
            },
            setImage : function (imageSrc_)
            {
                IMAGE = '';
            }
        };
    };
    var PAGES = [];

    return {
        addPage : function ()
        {
            var len = PAGES.length + 1;
            PAGES[len] = new Page();
            return PAGES[len];
        },
        page : function (pageNumber_)
        {
            var result = PAGES[pageNumber_];
            return result;
        }
    };
};

// Begin executing
$(document).ready(function ()
{
    Product.addPage.setImage('http://site/images/small_logo.png');
    alert(Product.page(1).image());
});

Andrzej Doyl.. 8

您正在尝试引用Product 函数的addPage属性(在本例中是构造函数),而不是返回的对象.

你可能想要这样的东西:

// Begin executing
$(document).ready(function ()
{
    var product = new Product();
    product.addPage().setImage('http://site/images/small_logo.png');
    alert(product.page(1).image());
});
这也为addPage调用添加了括号(虽然这不是FireBug会抱怨的问题,因为它无论如何都无法找到该方法).



1> Andrzej Doyl..:

您正在尝试引用Product 函数的addPage属性(在本例中是构造函数),而不是返回的对象.

你可能想要这样的东西:

// Begin executing
$(document).ready(function ()
{
    var product = new Product();
    product.addPage().setImage('http://site/images/small_logo.png');
    alert(product.page(1).image());
});
这也为addPage调用添加了括号(虽然这不是FireBug会抱怨的问题,因为它无论如何都无法找到该方法).

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有