何时使用访问者属性

时间:2014-04-07 13:06:56

标签: javascript oop

通常,要访问对象的属性,更改其值并接收结果,我会使用此语法。

<script type="text/javascript">
 var student={
      lastExam:null,
      setExam:function(es){
         this.lastExam=es
      },
     getExam:function(){return this.lastExam},
  } 
  student.setExam('Math')
  console.log(student.getExam())
</script>

为了获得相同的结果,我可以使用此代码的访问器属性。

<script type="text/javascript">
 var student={   
     lastExam:null,
     set Exam(es){
       this.lastExam=es
     },
     get Exam(){return this.lastExam},
   } 
  student.Exam='Math'
  console.log(student.Exam)
</script>

虽然我已经阅读了有关此主题的一些帖子(herehere ecc ..)但我仍然不理解某些概念。
我的问题是:
何时使用解决方案或其他更方便。
使用这两种解决方案有什么含义。

1 个答案:

答案 0 :(得分:0)

第一个示例可以在ECMAScript 3和5中执行,第二个示例只能在支持ECMAScript 5的浏览器中执行。

Accesor属性非常奇特,在这种情况下它们的效果更好,但有些用户可能无法在浏览器中运行此代码。 第一个例子到处运行,虽然使用起来比较繁琐。

你会听到那些&#34; accesor属性只能由制作图书馆的人使用#34;。当然这不是真的,我们都可以使用accesor属性,但这样做有一些小的兼容性问题。