私有变量测试

测试1

(function () {

    // 私有变量
    var privateVariable = 10;

    //私有函数
    function privateFunction() {
        return privateVariable;
    };

    // 构造函数
    MyObject = function () {

    };

    MyObject.prototype.publicMethod = function () {
        privateVariable++;
        console.log(privateFunction()) ;
    };


})();

//
var obj = new MyObject();
obj.publicMethod();

var obj2 = new MyObject();
obj2.publicMethod();
11

12

测试2

(function () {

    // 私有变量
    var privateVariable = 10;

    // 构造函数
    MyObject = function () {

    };

    MyObject.prototype.publicMethod = function () {
        privateVariable++;
        console.log(privateVariable) ;
    };


})();

//
var obj = new MyObject();
obj.publicMethod();

var obj2 = new MyObject();
obj2.publicMethod();

11

12

测试3

(function () {

    // 构造函数
    MyObject = function () {
        this.privateVariable = 10;
    };

    MyObject.prototype.publicMethod = function () {
        this.privateVariable++;
        console.log(this.privateVariable) ;
    };


})();



//
var obj = new MyObject();
obj.publicMethod();

var obj2 = new MyObject();
obj2.publicMethod();
11
11


总结:

可以用测试3的方式去构建一个独一无二的对象.对象之间属性是独立的。 测试1里面的变量是静态私有变量。






猜你喜欢

转载自blog.csdn.net/themagickeyjianan/article/details/80375124