Skip to content

私有变量

构造函数方法

  • 则所有实例都可以访问这些私有变量
js
function MyObj() {
    // 私有变量和私有函数
    let age = 22
    
    function getNow() {
        return Date.now()
    }
    
    // 特权方法
    this.getAge = function() {
		return age
    }
    this.getNow = function() {
        return getNow()
    }
}

静态私有变量

  • MyObj 是定义在 window 上的,所以可以全局获取
js
(function() {
	let age = 22
    
    function getNow() {
        return Date.now()
    }
    
    MyObj = function() {}
    MyObj.prototype.getAge = function() {
        return age
    }
})()

模块模式

js
function myObj() {
    // 私有变量和私有函数
    let age = 22
    
    function getNow() {
        return Date.now()
    }
    
    return {
        getAge() {
            return age
        },
        getNow() {
            return getNow()
        }
    }
}