语法:

obj.propertyIsEnumerable(prop);

此方法返回一个布尔值,表明指定的属性名是否是当前对象可枚举的自身属性。

1.如果是用户自定义了对象的属性,将返回true,比如

var o = {};

o.prop = '我是个可枚举属性';
o.fn = function(){}; //用户自定义属性
console.log(o.propertyIsEnumerable('prop'));//true
console.log(o.propertyIsEnumerable('fn'));//true

用for in遍历一下o对象,结果为:

for(var property in o){
console.log(property);
}
//prop fn

2.如果是自定义类型的情况

function Dog(name){
this.name = name;
}
Dog.prototype.sayName = function(){
var some = this.name;
}
var dog = new Dog('huang');
console.log(dog.propertyIsEnumerable('name')); //true 'name'-->来自Dog类型的构造函数
console.log(dog.propertyIsEnumerable('sayName'));//false 'sayName'-->继承自Dog类型

用for in 遍历一下dog对象,结果为:

for(var property in dog){
console.log(property);
}//name sayName

sayName能遍历出来,但是他不是dog自身的属性。

3.如果是内置对象属性或者是继承属性

var ob = {};
console.log(Math.propertyIsEnumerable('random'));//false  内置属性
console.log(window.propertyIsEnumerable('name'));//true 内置属性
console.log(ob.propertyIsEnumerable('constructor'));//false constructor-->继承Object原型对象属性

4.如果是动态增加Object原型对象属性

var obj = {};
Object.prototype.Color = 'green';
console.log(obj.propertyIsEnumerable('Color'));//false

Color是继承的属性,所以为false。

Object.prototype.propertyIsEnumerable的更多相关文章

  1. Object.prototype和Function.prototype一些常用方法

    Object.prototype 方法: hasOwnProperty 概念:用来判断一个对象中的某一个属性是否是自己提供的(主要是判断属性是原型继承还是自己提供的) 语法:对象.hasOwnProp ...

  2. Object.prototype 与 Function.prototype 与 instanceof 运算符

    方法: hasOwnProperty isPrototypeOf propertyIsEnumerable hasOwnProperty 该方法用来判断一个对象中的某一个属性是否是自己提供的( 住要用 ...

  3. Object.prototype的成员介绍

    3.Object.prototype的成员介绍        Object.prototype是js中所有的对象的祖宗        Object.prototype中所有的成员都可以被js中所有的对 ...

  4. JS高级——Object.prototype成员

    基本概念 成员 描述 Object.prototype.__proto__ 指向当对象被实例化的时候,用作原型的对象. Object.prototype.hasOwnProperty() 返回一个布尔 ...

  5. Object & prototype & __proto__ All In One

    Object & prototype & proto All In One js 原型,原型链,原型对象 const obj ={}; // {} const obj = new Ob ...

  6. 利用Object.prototype.toString方法,实现比typeof更准确的type校验

    Object.prototype.toString方法返回对象的类型字符串,因此可以用来判断一个值的类型. 调用方法: Object.prototype.toString.call(value) 不同 ...

  7. instanceof, typeof, & Object.prototype.toString

    /** * * @authors Your Name (you@example.org) * @date 2016-11-18 09:31:23 * @version $Id$ */instanceo ...

  8. 判断一个变量的类型Object.prototype.toString.call

    var num = 1;alert(Object.prototype.toString.call(num)); // [object Number]var str = 'hudidit.com';al ...

  9. Object.prototype.toString.call() 区分对象类型

    判断一个对象的类型: /** * 判断对象是否为数组 * @param {Object} source 待判断的对象 * @return {Boolean} true|false */ Object. ...

随机推荐

  1. ORA-00838: Specified value of MEMORY_TARGET is too small(转)

    1. 测试环境OS: RHEL5U5(32bit)DB: Oracle 11.2.0.3.0(32bit) 2.   异常原因. 2.1 oracle 11g默认sga_target为0,如下图, O ...

  2. lol盒子重点内容

    //AFN函数 - imageview载入网络图片而且获取图片,获取之后存储到手机   [image setImageWithURLRequest:[NSURLRequest requestWithU ...

  3. 批处理命令行CMD启动停止重启IIS的命令

    原文:批处理命令行CMD启动停止重启IIS的命令 启动IIS: net start iisadmin    (IIS的整个服务) net start w3svc       (WWW网页WEB服务) ...

  4. HDU 4123 Bob’s Race 树的直径+单调队列

    题意: 给定n个点的带边权树Q个询问. 以下n-1行给出树 以下Q行每行一个数字表示询问. 首先求出dp[N] :dp[i]表示i点距离树上最远点的距离 询问u, 表示求出 dp 数组中最长的连续序列 ...

  5. DTD验证XML(转)

    1.内部DTD       最简单的使用DTD的方法是在XML文件的序言部分加入一个DTD描述,加入的位置是紧接在XML处理指示之后.一个包含DTD的XML文件的结构为:    <?xml ve ...

  6. 使用Hadoop的MapReduce与HDFS处理数据

    hadoop是一个分布式的基础架构,利用分布式实现高效的计算与储存,最核心的设计在于HDFS与MapReduce,HDFS提供了大量数据的存储,mapReduce提供了大量数据计算的实现,通过Java ...

  7. Gitserver几家互联网代理安装方法未能解决。

    1.gem安装下面的错误 root@ubuntu:/home/git/gitlab# sudo gem install bundler --no-ri --no-rdoc ERROR:  Could ...

  8. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(7)-DBSession的封装

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(7)-DBSession的封装 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    ...

  9. IOS的UITextField,UIButton,UIWebView它描述的一些属性和IOS提示图像资源

    有时UI要开发的资源与实际frame不符.这一次,我们要绘制图片 UIImage* image = [[UIImage imageNamed:@"text_field_bg.png" ...

  10. 抓取数据同步备份hive

    1:创建表 CREATE external TABLE `tbl_spider`( `url` string, `html` string ) partitioned by ( `site` stri ...