JavaScript基础知识3

来源:互联网 发布:大数据架构师卡考试 编辑:程序博客网 时间:2024/05/21 17:19

隐藏成员变量

  1. 在函数体内定义的变量为局部变量,离开函数就挂掉了
  2. 在函数体内使用this.成员变量名,则为window对象级变量,即全局变量。

这里有一个常见问题,即在对象中有一个this.firstname变量,这个firstname就是window级的全局变量。而如果使用不慎的话被中途修改,那就悲剧了。

所以要想隐藏成员变量,有2种方法

     1.把变量的作用域限制在function级别上

     2.可以使用prototype 的bind方法

方法1:

故需要这样隐藏成员变量,向外只暴露get、set函数

方法2: