0

每次调用插件的主函数时,我都有一个 JQuery 插件创建一个新对象:

函数调用:

new BpNotification( options );

函数本身:

function BpNotification( options ) { 
    this.init();
}

BpNotification.prototype = {
    init: function() {

        this.t = setTimeout(function(){}, 5000);

    }
}

创建对象后,是否可以从“外部”修改此超时选项“t”?

4

2 回答 2

1

您可以随意更改t

function BpNotification( options ) { 
    this.init();
}

BpNotification.prototype = {
    init: function() {
       this.t = setTimeout(function(){alert('default');}, 500);
    }
}

var Bpn = new BpNotification();
clearTimeout(Bpn.t);
Bpn.t = setTimeout(function(){alert('updated!');}, 500);

演示

于 2013-09-28T14:37:04.390 回答
0

您可能希望在原型对象中创建一个setter 函数来更改 setTimeout 值:

BpNotification.prototype = {
    init: function() {
    },
    updateTimeout: function(newVal){
        this.t = setTimeout(function(),newVal);
    }
};

var bpNot = new BpNotification();

bpNot.init();
bpNot.updateTimeout(10000);
于 2013-09-28T14:06:09.033 回答