javascript - 如何不返回 bool 链中的最后一个对象

标签 javascript

我有这样的代码:

function doAThing(var1) {
    return typeof var1 === "object" && Object.keys(var1).length > 11;
}

我遇到一个问题,当 var1 不是对象时,函数会尝试返回最后一个语句的值:Object.keys(var1).length > 11)

显然,如果obj1不是一个对象,我不想尝试获取它的 key ,否则它会因Cannot conversion undefined or null to object而崩溃。

我怎样才能让这个函数返回一个 bool 值,并且如果它不是一个对象,而不尝试检查var1的键?

最佳答案

尝试在您的条件中添加 null 检查,因为 typeof null 也是 object:

function doAThing() {
    return !bool1
        && var1 !== null
        && typeof var1 === "object"
        && Object.keys(var1).length > 11);
}

关于javascript - 如何不返回 bool 链中的最后一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44081113/

相关文章:

javascript - 返回 ion-item 的 ajax 数据循环

javascript - Three.js - 如何使用 Three.js 创建烟雾?

javascript - 使用嵌套查询的组成员的 Facebook api 图片大小?

javascript - 单条 "chart"到 CSS(或 HTML5/SVG)中的 donut (doughnut)图表

javascript - jQuery 动画/悬停和淡入淡出

javascript - 如何在 html 中为具有动态高度的图像设置占位符高度?

javascript - 为什么指令在 $rootScope 中可用?

javascript - Javascript中的 "button is null"是什么意思?

javascript - Angular 路线错误: $injector:modulerr Module Error

javascript - JavaScript 中的 PHP 变量