在knockout.js中__ko_proto__的目的是什么?

时间:2013-09-10 18:05:41

标签: knockout.js

我想在knockout.js源代码中询问声明的目的。谢谢。

ko.observable = function (initialValue) {
    var _latestValue = initialValue;

    function observable(newValue) {
        return _latestValue;
    }
    observable.__ko_proto__ = ko.observable;   **// <-- what's the purpose of this line??**

    ko.subscribable.call(observable);
    return observable;
}

2 个答案:

答案 0 :(得分:2)

我看到它有用的一点是测试可观察的属性。在这里找到 Determine if an object property is ko.observable

答案 1 :(得分:1)

__ko_proto__属性是Knockout知道某些东西是可观察的。大多数绑定可以接受可观察值或普通值,并使用ko.unwrap来获取实际值。 ko.unwrap使用ko.isObservable来检查__ko_proto__属性。