propertyIsEnumerable的用法

简介: propertyIsEnumerable用法语法和功能obj.propertyIsEnumerable(prop): 判断prop属性是否是obj的可枚举属性

propertyIsEnumerable的用法


propertyIsEnumerable用法


语法和功能


obj.propertyIsEnumerable(prop):

判断prop属性是否是obj的可枚举属性

eg:


    var o = {};
    var a = [];
    o.prop = 'is enumerable';
    a[0] = 'is enumerable';
    o.propertyIsEnumerable('prop');  //true
    a.propertyIsEnumerable(0);        //true


Tips 注意事项


  1. 继承的属性显示为false.必须是 自身的属性


eg:


    function A() {}  // 构造函数A
    A.prototype.AMethod = function(){console.log(1)};
    function B() {}  // 构造函数B
    B.prototype = new A();
    B.prototype.constructor = B;
    var o = new B();
    o.oself = function() {};
    o.AMethod(); // 通过原型链继承了AMethod方法
    o.propertyIsEnumerable('AMethod');  // false  因为AMethod是继承的属性,所以false
    o.propertyIsEnumerable('oself'); // true 因为oself 是 o 的自身属性


2.在原型链上propertyIsEnumerable不被考虑,尽管constructor可以在for-in循环中被循环出来

eg:


    var a = [];
    a.propertyIsEnumerable('constructor'); // false
    a.propertyIsEnumerable('prototype');  // false


TAHT ALL

目录
相关文章
|
5月前
|
安全 Java 容器
FilterChain用法总结
FilterChain用法总结
|
5月前
|
SQL 安全 数据库
关于QUOTENAME的用法
关于QUOTENAME的用法
EasyTouch基本用法
EasyTouch基本用法 本文提供全流程,中文翻译。Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) ...
1520 0
|
JavaScript 前端开发 C#
|
前端开发 JavaScript