在看《高程3》第六章的《面向对象的程序设计》的原型那一节时,有一下5个函数,功能较为接近,但是又都很基础,很重要

  所以在此,加以说明,以便日后复习

  function Person(){this.age = 100}
  var person1 = new Person;

①isPrototypeOf()

  Person.prototype.isPrototypeOf(person1);  //true

②Object.getPrototypeOf()

  alert(Object.getPrototypeOf(person1) == Person.prototype)  //true

③hasOwnProperty()  //判断属性是否是存在于自己的实例中,如果是:返回true,如果仅仅存在自己的原型总,则返回false

  person1.hasOwnProperty("age");  //fales  因为age是原型的属性,而不是自己实例的属性

④Object.keys()  //如果你想要获得所有实例属性,并仅需可枚举的,可以使用这个方法  其实和for in遍历出来的是一样的

  var keys = Object.keys(Person.prototype);
  alert(keys);  //"age"

⑤Object.getOwnPropertyName()  //如果你想要获得所有实例属性,无论他是否可枚举,可以使用这个方法

  var keys = Object.getOwnPropertyNames(Person.prototype);
  alert(keys);  //"constructor, age"

所有开发者定义的属性,均是可枚举的;

不可枚举的属性有: toLocaleString()、toString()、valueOf()、hasOwnProperty()、propertyIsEnumerable()  es5将constructor和prototype的 [ [ Enumerable ] ] = false ,即可枚举属性设置为了 false

最新文章

  1. Kooboo CMS 无聊随笔(2)
  2. HDU 5475(2015 ICPC上海站网络赛)--- An easy problem(线段树点修改)
  3. swfit-计时器
  4. Java文件拷贝
  5. Linux常用命令_(系统管理)
  6. Linux下的动态连接库及其实现机制
  7. OC中-数组是如何遍历的?
  8. iOS AFNetWorking源码详解(一)
  9. c++中的const参数,const变量,const指针,const对象,以及const成员函数
  10. QT update和repaint的区别
  11. 【基础】C#异常处理的总结
  12. 2分钟读懂大数据框架Hadoop和Spark的异同
  13. Linux命令面试集
  14. 路飞学城-Python开发集训-第5章
  15. 后台获取用户登录token 和获取前端参数方法
  16. 阿里CentOS 7 卸载mysql5.6
  17. Shiro Realm
  18. 04: python常用模块
  19. 【python】面试常考数据结构算法
  20. mysql事务隔离级别设置

热门文章

  1. NSTimer、performSelector 函数没有被调用的原因
  2. ffmpeg开发基础知识
  3. Python小白学习之路(十八)—【内置函数三】
  4. python3模块: uuid
  5. js创建对象方法
  6. 再学Java 之 Integer 包装类缓存
  7. [转]你真的了解 console 吗
  8. javac之BridgeMethod及泛型擦除重写
  9. Hbase 维护
  10. filebeat output redis 报错 i/o timeout