开发者社区> 问答> 正文

javascipt里面用in 遍历对象 为什么报错 ?报错

用hasownproperty没问题,一用in就报错,哪里错了

图片说明
图片说明
图片说明

展开
收起
爱吃鱼的程序员 2020-06-22 23:52:16 439 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    Javascript中Object对象原型上的hasOwnProperty()用来判断一个属性是定义在对象本身而不是继承自原型链。
    说明hasOwnProperty是用在对象上的,你store[0]的值是2,2.hasOwnProperty,并没有报错,不知道是不是js本身的bug。
    in操作符可以用来干跟hasOwnProperty一样的事情,但是也是用在对象上面的,只是执行

    'complete'in2

    的时候报错了而已

    (‘complete’invalue)&&(value.complete===false)这样写就对了;

    (1)因为in操作符优先级很低,先执行后面的结果,在执行in
    (2)&&多个条件时,建议每个条件加上(),避免bug

    还有建议代码规范点,
    if(){

    }
    无论后面有几条语句,都加上{};
    代码习惯、规范,可以大幅度减少bug出现

    2020-06-22 23:52:32
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载

相关实验场景

更多