javascript 中的getter,setter

1.什么是getter,什么是setter?

  getter 是一种获得属性值的方法,setter是一种设置属性值的方法。

2.怎么定义?

  有2种办法:

  • 在对象初始化的时候定义
  • 在对象定义后的时候定义

3.例子:

<!DOCTYPE html>
<html>
<head>
    <title>yupeng's document </title>
    <meta charset="utf-8"/>
</head>
<body>
    <script type="text/javascript">
        //demo1
        var obj = {

            val:100,
            get getval(){
                return this.val;
            },
            set setval(x){
                this.val = x;
            }
        }

        console.log(obj.getval);
        obj.setval = 101;
        console.log(obj.getval);

        //demo2
        
        var obj2 = {

            val:200
        }

        obj2.__defineGetter__('name',function(){return this.val});
        obj2.__defineSetter__('name',function(name){this.val = name;})

        console.log(obj2.name)
        obj2.name = 201;
        console.log(obj2.name);
    </script>
</body>
</html>

结果:

100
101
200
201
posted @ 2013-12-18 13:43  yupeng  阅读(23466)  评论(5编辑  收藏  举报