2017-06-04 129 views
0

我现在正在解决滑块问题,但是,我不知道JavaScript的那个,我已经隔离了负责滑块功能的.js文件,这里有一个破坏函数我想开火,代码看起来像这样如何执行嵌套的Javascript函数

(function ($) { 

$.pixelentity = $.pixelentity || {version: '1.0.0'}; 

$.pixelentity.peBackgroundSlider = {  
    conf: { 
     api: false, 
     wait: false 
    }, 
    paused: false 
}; 

function PeBackgroundSlider(target, conf) { 

    ... 

    function destroy() { 
     prevColor = currentColor = currentBW = jwindow = jthis = undefined; 
     target.data("peBackgroundSlider", null); 
     target = undefined; 
    } 
} 

在这种情况下,我将如何触发destroy功能?

+0

它必须从内部访问'PeBackgroundSlider()',因为它在该函数的私人范围。 –

回答

2

你不能像现在这样。

要调用它,你必须 “出口”,如下所示:

function PeBackgroundSlider(target, conf) { 

... 

function destroy() { 
    prevColor = currentColor = currentBW = jwindow = jthis = undefined; 
    target.data("peBackgroundSlider", null); 
    target = undefined; 
    } 

    return { "destroy": destroy }; 
} 

从来电:

var ret = PeBackgroundSlider(); 

现在你可以这样做:

ret.destroy(); 

或者,更简洁:

return destroy; 

和:

innerDestroy = PeBackgroundSlider(); 

最后:

innerDestroy();