< script> var person = new Object(); //{} person.name = "jack"; person.age = 20; person.isSingleDog = true; for(var i in person){ print(i+":"+person[i]); } print("-------------"); person.name = "Lilei"; for(var i in person){ print(i+":"+person[i]); } //屬性不可改變 Object.defineProperty(person,"name",{ writable:false }); print("-----"); person.name = "Lucy"; for(var i in person){ print(i+":"+person[i]); } //屬性被被循環出來 Object.defineProperty(person,"age",{ enumerable:false }); print("-----"); for(var i in person){ print(i+":"+person[i]); } //屬性不可配置 /** Object.defineProperty(person,"name",{ configurable:false }); Object.defineProperty(person,"name",{ configurable:true }); Object.defineProperty(person,"name",{ value:"lili" }); **/ print("----------------"); for(var i in person){ print(i+":"+person[i]); } var person2 = new Object(); person2.name = "Hanmeimei"; person2.birthYear = 2000; Object.defineProperty(person2,"age",{ get:function(){ return 2016-this.birthYear; }, set:function(newValue){ this.birthYear = 2016-newValue; } }); print(person2.age); person2.age = 20; print(person2.birthYear); //同時改變多個屬性 Object.defineProperties(person2,{ name:{ value:"jack" }, birthYear:{ value:11 } }); print(person2.name); print(person2.birthYear); function print(msg){ document.write(msg); document.write("<br>"); } </script>