document.write('

解析: 在 JavaScript 中没有块级作用域的概念,同样也没有私有属性的概念,但是 存在私有变量。如果我们想把一些数据封装隐藏起来要怎么做呢?想必大家已 经想到了,可以通过使用闭包 + 私有变量的方式来实现对象的私有属性。

1.实例私有属性

实例私有属性的特点就是每个对象都会包含独立的属性,对象和对象之间 没有共享。为了实现这个目标,可以在构造函数中增加一个私有变量,然后定 义公共方法来访问这个私有变量。

2.静态私有属性

在有些情况下,我们可能希望数据全局共享,那么就会用到静态属性,同 时,我们还希望这个属性为私有的,那么怎样实现静态私有属性呢?首先这个 私有应该在构造函数的外部,为了把构造函数外部的变量和构造函数结合为一 体,可以使用闭包把私有变量和构造函数都包含在其作用域中,为了在闭包外 面访问内部的构造函数,可以使用一个全局变量来引用构造函数。

');