码迷,mamicode.com
首页 > 其他好文 > 详细

object

时间:2016-07-01 18:11:32      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:

  1.  object对象

    定义一个对象

 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对象

  •  prototype属性
  •  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 };

 

原型链的查找方法 调用一个属性或方法的时候 会现在实例化的对象上查找
如果找不到 会去原型上查找 一直到找到为止

  • call,apply方法的区别

  1. apply需要的参数 第一个this 第二个调用的方法的参数数组
  2. call 第一个参数this 后面跟上所有的参数 用,分割

  •  Object的扩展方法

  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. 判断是否被密封 是否被冻结 是否可扩展


object

标签:

原文地址:http://www.cnblogs.com/jenny-9401/p/5633800.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!