1. <script>
    2. var p = {
    3. name: "chen",
    4. work: function () {
    5. console.log("wording...");
    6. },
    7. _age: 18,
    8. get a() {
    9. return this._age;
    10. },
    11. set a(val) {
    12. if (val < 0 || val > 100) {//如果年龄大于100就抛出错误
    13. throw new Error("invalid value")
    14. } else {
    15. this._age = val;
    16. }
    17. }
    18. };
    19. console.log(p.name);//输出chen
    20. console.log('p.age: ', p.a); // 18
    21. console.log('p.age: ', p.a = 20); // 20
    22. // console.log('p.age: ', p.a = 200); // 抛出错误
    23. console.log("~~~~~~~~~~~~~~~~~~~~~~");
    24. let obj = {}
    25. Object.defineProperty(obj, 'test', {
    26. get: function () {
    27. console.log('调用get方法')
    28. },
    29. set: function (newVal) {
    30. console.log('调用set方法,新值为:' + newVal)
    31. }
    32. })
    33. obj.test; // '调用get方法'
    34. obj.test = '我们都是打工人' // 调用set方法,新值为:我们都是打工人
    35. </script>