propertyIsEnumerable的用法

本文介绍了JavaScript中propertyIsEnumerable方法的使用方法及注意事项。该方法用于判断指定属性是否为对象的可枚举属性,并强调只有对象本身的属性才能被检测到,继承来的属性将返回false。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值