在变量中调用函数

时间:2011-09-16 09:39:49

标签: javascript

我正在使用插件JS,需要在其中调用一个函数。

在变量中有函数,如

var win = window;
var Page = function(pageOptions, callback) {
    function abc(){
           --------
     }
     function xyz(){
         ------
     }

};
win.Sales = {
    Page: Page
};

现在,我需要调用函数abc()。我怎么称呼它。 已经尝试使用win.Sales.page.abc();

请帮我解决这个问题。提前谢谢。

2 个答案:

答案 0 :(得分:2)

您无法对配置执行此操作,因为这些功能是本地私有

您应该在全球范围内访问它们,如:

var Page = function(...) {
    ...
};

Page.abc = function() {
    ...
};

这样,abcPage的属性,然后您可以像Page.abc一样访问它,并像Page.abc()一样执行它。函数基本上也是对象,因此它们也可以具有属性。

答案 1 :(得分:1)

你不能调用函数abc,因为它被声明为变量Page引用的函数的私有成员。

如果要调用函数,必须将其作为变量Page的属性。

var Page = function(){
    .........
    .........
    .........
}

Page.abc = function(){
}

但是存在另一个变量作用域的问题,比如如果在函数Page中定义了另一个变量x并在函数abc中使用它,它将无效。

无论如何,既然你说它是一个js插件,我认为你不可能改变函数Page。所以答案就是不,你不能这样做。