标签:
定义一个对象
1 var obj = {}; 2 obj.name = ‘Kate‘; 3 var obj = {name:‘Jerrt‘}; 4 5 var obj = new Object(); 6 7 Object.defineProperty(obj,‘age‘,{ 8 configurable: //是否可配置、删除、修改;默认是false 9 writable: //是否可编辑 若config是false writable无意义 10 enumerable: //是否可枚举 11 value: //属性对应的value值 12 get、set: //此两项不能和writable、value同时出现 13 })
2. function对象
1 function Person(name,age){ 2 this.age = age; 3 this.name = name; 4 } 5 Person.prototype = { 6 eat : function(food){ 7 console.log(this.name + ‘爱吃‘ + food); 8 }, 9 sleep : function(){ 10 console.log(this.name + ‘每天睡觉8小时‘); 11 } 12 } 13 Person.prototype.constructor = Person; 14 15 var jack = new Person(‘jack‘,18); 16 jack.eat(‘蛋炒饭‘); 17 18 function Student(name,age){ 19 Person.call(this,name,age); 20 } 21 22 Student.prototype = Object.create(Person.prototype); 23 Student.prototype.constructor = Student; 24 var mike = new Student(‘mike‘,19); 25 mike.eat = function(‘冰淇淋‘){ 26 console.log(‘冰淇淋‘) 27 };
原型链的查找方法 调用一个属性或方法的时候 会现在实例化的对象上查找
如果找不到 会去原型上查找 一直到找到为止
1. apply需要的参数 第一个this 第二个调用的方法的参数数组
2. call 第一个参数this 后面跟上所有的参数 用,分割
1. Object.keys(对象名) //列出指定对象的属性名
2. Object.seal //密封 writable变成false
3. Object.freeze //冻结 configurable和writable都为false
4. Object.create //创建一个新对象
5. Object.preventExtensions //禁止扩展
6. Object.getOwnPropertyDescriptor(对象名,属性名) //获取指定对象的某一个描述信息
7. Object.defineProperties()//创建多个属性 用{}隔开
8. 判断是否被密封 是否被冻结 是否可扩展
标签:
原文地址:http://www.cnblogs.com/jenny-9401/p/5633800.html