如果一个对象想隐藏一些信息?就像函数可以有局部变量,只能从内部访问这个函数,对象可以有私有变量。私有变量的信息你不想公开分享,他们只能从类中直接访问。
1 function Person(first,last,age) { 2 this.firstname = first; 3 this.lastname = last; 4 this.age = age; 5 var bankBalance = 7500; 6 }
Person类被修改为一个名为bankBalance的私有变量。注意,它看起来就像一个普通变量,但它是在构造函数中定义的人不使用这个,而是使用var。这使得bankBalance私有变量。
eg:下面我们创建一个对象约翰使用构造函数。他可以有姓名和年龄。
console.log(john.bankBalance);
按照上面的写法肯定是获取不到值的。那我们怎么做呢?
function Person(first,last,age) {
this.firstname = first;
this.lastname = last;
this.age = age;
var bankBalance = 7500;
this.getBalance = function() {
// your code should return the bankBalance
return bankBalance;
};
}
var john = new Person('John','Smith',30);
console.log(john.bankBalance);
console.log(john.getBalance());
var myBalance = john.getBalance();
console.log(myBalance);
绝圣弃智,民利百信;绝仁弃义,民复孝慈;绝巧弃利,盗贼无有
浙公网安备 33010602011771号