Jquery “为什么我的函数返回”;功能“;而不是整数结果?

Jquery “为什么我的函数返回”;功能“;而不是整数结果?,jquery,knockout.js,Jquery,Knockout.js,我有以下功能: viewModel.unreadCount = ko.dependentObservable(function() { var unreadCount = 0; for (var i = 0; i x< xxxxxxxxxxxx.length; i++) { if (xxxxxx == false) { unreadCount++; } } return unreadCount

我有以下功能:

viewModel.unreadCount = ko.dependentObservable(function() {   
    var unreadCount = 0;

    for (var i = 0; i x< xxxxxxxxxxxx.length; i++) {
        if (xxxxxx == false) {
            unreadCount++;
        }
    }

    return unreadCount;
}, viewModel);
这是因为当我跑步时:

${(viewModel.unreadCount的类型)}

我得到“函数”


你知道这是为什么吗?我如何让它返回一个INT,这样我就可以执行if语句了?

既然
ko.dependentObservable()
正在返回一个函数,正如前面所指出的,你应该能够使用这种看起来有些奇怪的语法调用它返回的函数:

<div data-bind="visible: (viewModel.unreadCount)()==0">

然后,这将对返回的函数执行函数应用程序,而不仅仅是
viewModel
unreadCount
成员
ko.dependentObservable()
返回函数,而不是传入的匿名函数的返回值。