在此example of encapsulation中,为什么{9}}已分配给第9行的私有变量name
?对我来说这似乎是多余的,因为在第2行中,_name
已经分配给name
,并且_name
或_name
没有任何更改。< / p>
或者我读错了,name
是私有变量吗?
name
答案 0 :(得分:1)
两个 name
。一个是function Person
的参数,表示创建并初始化的值_name
。第二个是存储为对象function
成员的匿名name
的参数,它是传递给getter / setter以更新私有变量值的参数(或获取)如果没有提供当前值)。考虑:
var someone = new Person("alice");
someone.name("bob");
console.log(someone.name()); // output: bob