- 在给一个对象不存在的属性设置值的时候,不会去原型对象中查找,如果当前对象没有就会给当前对象新增一个不存在的属性
- 由于私有属性的本质就是一个局部变量,并不是真正的属性,所以如果通过
对象.xxx
的方式是找不到私有属性的,所以会给当前对象新增一个不存在的属性
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JavaScript-私有属性注意点</title>
<script>
function Person() {
this.name = "BNTang";
let age = 34;
this.setAge = function (myAge) {
if (myAge >= 0) {
age = myAge;
}
}
this.getAge = function () {
return age;
}
this.say = function () {
console.log("hello world");
}
}
let obj = new Person();
obj.setAge(-3);
console.log(obj.getAge());
obj.age = -3;
console.log(obj.age);
</script>
</head>
<body>
</body>
</html>

