通常,要访问对象的属性,更改其值并接收结果,我会使用此语法。
<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>
虽然我已经阅读了有关此主题的一些帖子(here,here ecc ..)但我仍然不理解某些概念。
我的问题是:
何时使用解决方案或其他更方便。
使用这两种解决方案有什么含义。
答案 0 :(得分:0)
第一个示例可以在ECMAScript 3和5中执行,第二个示例只能在支持ECMAScript 5的浏览器中执行。
Accesor属性非常奇特,在这种情况下它们的效果更好,但有些用户可能无法在浏览器中运行此代码。 第一个例子到处运行,虽然使用起来比较繁琐。
你会听到那些&#34; accesor属性只能由制作图书馆的人使用#34;。当然这不是真的,我们都可以使用accesor属性,但这样做有一些小的兼容性问题。