负责创建选取框样式的滑块,但功能更重。

我有一些模拟的代码:

var $app = {
    slider = {
        init: function() {
            // run slider
        }
    }
}

$app.slider.init();


这可行,但是我还需要同时运行此“ slider”插件的另一个版本,而不会覆盖我在其中创建的变量等。

我虽然通过添加例如

init: function() {
    // after a certain requirement is met
    $app.slider.init();
}


我以为这样会创建另一个实例,但是似乎只是重新初始化了我当前正在使用的实例。就我所拥有的代码结构而言,是否有必要运行滑块'plugin'的新实例?

最佳答案

您可以使用构造函数来创建对象的新实例。

var $app = {
    slider: function(){
        this.init = function() {
            // run slider
        }
    }
}


用法:

var slider1 = new $app.slider();
slider1.init();

var slider2 = new $app.slider();
slider2.init();


同样为了节省内存,您可以将init函数放在构造函数的原型中。

$app.slider.prototype = {
    init: function() {
        // run slider
    }
}

关于javascript - 创建javascript自定义应用的新实例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35627179/

10-13 01:31