对象属性的遍历(一)遍历对象基础的三个API

本文介绍了JavaScript中遍历对象属性的三个基础API:Object.keys(), Object.values()和Object.entries()。Object.keys()返回对象的字符串键组成的数组,Object.values()返回对象的属性值组成的数组,但不包括Symbol键。Object.entries()则返回一个包含对象键值对的数组,适合用于遍历所有属性。" 114202274,10553911,使用Guava构建高效本地缓存策略,"['Java', 'Guava', 'Cache', '本地缓存']
摘要由CSDN通过智能技术生成

       我们在做JavaScript开发的时候,可能会遇到这样的情况,在我们自己的代码中,某个对象objC引用一个全局对象objB的某个属性propB。然后读取属性propB之后,再在我们自己的对象中,对propB的值做些加工。

// 全局对象B ,包含属性b
const objB = {
    propB : 100;
}
//类A,
class A(){
    constructor(){
        this.tmp1 = objB.propB ;
        this.tmp2 = 20;
    }
    func1(){
        return this.tmp1 + this.tmp2;
    } 
}

var objC = new A();objC.func1(); // 120;
       暂时来看这段代码是能够正常运行的,无非是类A的实例objC和全局对象objB之间有着一种隐含的强耦合关系罢了。但是这里有个问题,因为objB是全局的,这代表着,其他的代码可以随意的更改objB,一旦在某段代码中,删除了propB属性的话,之后再运行objC.func1();就会出现错误。
       暂且不考虑全局的对象objB,在编写Class A的时候,我们就应该在引用属性之前,先查看一下,这个属性是否存在,一旦不存在,就log一个错误,这样便于我们debug。所以,类A应该增加一段代码:

//类A,
class A(){
    constructor(){
        //这里应该先判断下࿰
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值