JavaScript訪問器(Getter和Setter),ECMAScript 5(2009)介紹了Getter和Setters。 Getters和setter容許您定義對象訪問器(Computed Properties)。javascript
<!DOCTYPE html> <html> <meta charset="utf-8"> <title>js</title> <body> <h2>JavaScript Getters和Setters</h2> <p> Getters和setter容許您經過方法獲取和設置屬性。</p> <p>此示例使用lang屬性獲取語言屬性的值。</p> <p id="demo"></p> <script> // 新建一個對象。 var person = { firstName: "John", lastName : "Doe", language : "en", get lang() { return this.language; } }; // 使用getter顯示來自對象的數據: document.getElementById("demo").innerHTML = person.lang; </script> </body> </html>
<!DOCTYPE html> <html> <meta charset="utf-8"> <title>JavaScript Getters和Setters</title> <body> <h2> JavaScript Getters和Setters </h2> <p> Getters和setter容許您經過方法獲取和設置屬性。</p> <p>此示例使用lang屬性設置語言屬性的值。</p> <p id="demo"></p> <script> // Create an object: var person = { firstName: "John", lastName : "Doe", language : "NO", set lang(value) { this.language = value; } }; // Set a property using set: person.lang = "en"; // Display data from the object: document.getElementById("demo").innerHTML = person.language; </script> </body> </html>
<!DOCTYPE html> <html> <meta charset="utf-8"> <title>js</title> <body> <h2> JavaScript Getters和Setters </h2> <p>完美的建立反對象:</p> <p id="demo"></p> <script> var obj = { counter : 0, get reset() { this.counter = 0; }, get increment() { this.counter++; }, get decrement() { this.counter--; }, set add(value) { this.counter += value; }, set subtract(value) { this.counter -= value; } }; // Play with the counter: obj.reset; obj.add = 5; obj.subtract = 1; obj.increment; obj.decrement; // Display the counter: document.getElementById("demo").innerHTML = obj.counter; </script> </body> </html>