<script> //对象构造器 function Person(f,l,age,eyeColor){ this.firstName = f; this.lastName = l; this.age = age; this.eyeColor = eyeColor; //为构造器添加属性和方法,必须在构造器函数里面添加,不能在外面添加(除非使用prototype) this.changeName = function(name){ this.lastName = name; }; } Person.prototype.nationality = "China"; Person.prototype.changeAge = function(newAge){ this.age = newAge; }; var zhangsan = new Person("zhangsan","lisi",13,"blue"); var liuliu = new Person("liuliu","qiqi",13,"blue"); zhangsan.changeAge(100); // document.getElementById("demo").innerHTML = zhangsan.nationality; document.getElementById("demo").innerHTML = zhangsan.age; </script>
<script> //ES5新的对象方法 //添加或更改对象属性 Object.defineProperty(obj, property, desc) //添加或更改多个对象属性 Object.defineProperties(obj, descriptions) //访问属性 Object.getOwnPropertyDescriptor(obj, property) //以数组形式返回所有属性 Object.getOwnPropertyNames(obj) //以数组形式返回所有可枚举的属性 Object.keys(obj) //访问原型 Object.getPrototypeOf(obj) //组织向对象添加属性 Object.preventExtensions(obj) //如果可将数学添加到对象,返回true Object.isExtensible(obj) //防止更改对象属性 Object.seal(obj) //如果对象被密封,返回true Object.isSealed(obj) //防止对对象进行任何更改 Object.freeze(obj) //如果对象被冻结,返回true Object.isFrozen(obj)
</script>
原文:https://www.cnblogs.com/ltfxy/p/11868981.html