语法:

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. matlab简单实现SVD的推荐

    %svd chengxu A = [5 5 0 5;5 0 3 4; 3 4 0 3; 0 0 5 3; 5 4 4 5; 5 4 5 5]; A = A'; [U S V] = svd(A); U ...

  2. Pro Aspnet MVC 4读书笔记(3) - Essential Language Features

    Listing 4-1. The Initial Content of the Home Controller using System; using System.Collections.Gener ...

  3. REST API出错响应的设计(转)

    REST API应用很多,一方面提供公共API的平台越来越多,比如微博.微信等:一方面移动应用盛行,为Web端.Android端.IOS端.PC端,搭建一个统一的后台,以REST API的形式提供服务 ...

  4. Learning JavaScript(0)_Concepts

    作用域,嵌套函数和闭包 <script type="text/javascript"> function foo(){ var a = 10; function bar ...

  5. Memcache功能具体解释

    memcache函数全部的方法列表例如以下: Memcache::add – 加入一个值.假设已经存在,则返回false Memcache::addServer – 加入一个可供使用的server地址 ...

  6. [JavaScript权威指南 [笔记]

    对象的比较均是引用的比较.(不可变的原始值和可变的对象引用)this返回调用这个方法的对象通过x!==x来判断x是否为NaNvar max = max_width || preferences.max ...

  7. xdebug的安装和配置方法

    首先让php错误显示,仅仅须要改动php.ini其中的2条指令,把 displayerrors和htmlerrors都设置为On,例如以下所看到的 html_errors = On        di ...

  8. measureChildren作品

    无论是在改写View依然是ViewGroup什么时候.特别ViewGrop什么时候,通常是不可避免的重写onMeasure方法,我们一定会调用setMeasuredDimension()将測量好的宽高 ...

  9. C#-TextBox-登录表单password无形---ShinePans

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  10. 详细的图文介绍如何利用XAMPP本地建站的环境配置教程

    原文:详细的图文介绍如何利用XAMPP本地建站的环境配置教程 WordPress 是一个简便快捷,用途广,人气旺的一个开源的博客建站程序.很有很多等您去发现. 简便快捷:在性能上易于操作.易于浏览: ...