javascript库中的javascript常量

javascript库中的javascript常量,javascript,Javascript,我正在尝试编写一个小的javascript库,如下所示。我真正想要的是我打电话的时候 console.log(tnd().pv); 它应该输出相同的数字,而不是每次都生成新的数字。我知道问题是每次我登录时它都调用Math.random。但我怎样才能使它输出相同的数字呢 (function () { var tnd = function() { return new tnlib(); }; var tnlib = function() {

我正在尝试编写一个小的javascript库,如下所示。我真正想要的是我打电话的时候

console.log(tnd().pv);
它应该输出相同的数字,而不是每次都生成新的数字。我知道问题是每次我登录时它都调用Math.random。但我怎样才能使它输出相同的数字呢

(function () {
    var tnd = function() {
        return new tnlib();
    };
    var tnlib = function() {
        this.version = function(){
            console.log('1.0');
        };
        this.pv = Math.random()*10000000000000000;
    };
    if(!window.tnd) {
        window.tnd = tnd;
    }
})();

不要在每次调用
tnlib
时执行
Math.random()
,而是作为静态变量执行:

(function () {
    function tnd() {
        return new tnlib();
    }
    function tnlib() {
    }
    tnlib.prototype.version = function(){
        console.log('1.0');
    };
    tnlib.prototype.pv = Math.random()*10000000000000000;
    if (!window.tnd) {
        window.tnd = tnd;
    }
}());
(或者,如果确实需要将
pv
作为实例属性):


console.log()之外执行
tnd()
并存储它,然后从存储的实例访问
.pv
。谢谢,我最后选择了第二个选项。
    var staticPv = Math.random()*10000000000000000;
    function tnlib() {
        this.pv = staticPv;
        …
    }