程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> javascript 面向對象-JavaScript對象多個屬性的訪問問題:

javascript 面向對象-JavaScript對象多個屬性的訪問問題:

編輯:編程綜合問答
JavaScript對象多個屬性的訪問問題:

代碼如下 , 問題,為啥_year屬性沒有改變呢?

 var book = {};

    Object.defineProperties(book , {
        _year: {
            value: 2004
        },
        edition: {
            value: 1
        },
        year: {
            get: function(){
                return this._year;
            },
            set: function(newValue){
//                alert(newValue);
                if(newValue > 2004){
                    this._year = newValue;
                    alert(this._year);
                    this.edition += newValue - 2004;
                }
            }
        }
    });
    book.year = 2015;
    alert(book.year);   //2004
    alert(book.edition);   //1

最佳回答:


默認是不可以修改的,自己好好看看:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperties

   var book = {};

    Object.defineProperties(book, {
        _year: {
            value: 2004,writable:true//設置為可寫入,默認flase
        },
        edition: {
            value: 1, writable: true//設置為可寫入,默認flase
        },
        year: {
            get: function () {
                return this._year;
            },
            set: function (newValue) {
                if (newValue > 2004) {
                    this._year = newValue;
                    this.edition += newValue - 2004;
                }
            }
        }
    });
    book.year = 2015;
    alert(book.year);   
    alert(book.edition);   
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved