我使用KnockoutJS编写了一些自定义绑定.我仍然不确定何时使用ko.utils.unwrapObservable(item)查看代码,该调用基本上检查是否item是可观察的.如果是,则返回值(),如果不是,则返回值.查看Knockout关于创建自定义绑定的部分,它们具有以下语法:
var value = valueAccessor(), allBindings = allBindingsAccessor();
var valueUnwrapped = ko.utils.unwrapObservable(value);
Run Code Online (Sandbox Code Playgroud)
在这种情况下,他们调用observable via (),然后调用ko.utils.unwrapObservable.我只是试图了解何时使用一个与另一个或如果我应该始终遵循上述模式并使用两者.
我需要循环遍历javascript对象的属性.如何判断属性是函数还是只是值?
var model =
{
propertyA: 123,
propertyB: function () { return 456; }
};
for (var property in model)
{
var value;
if(model[property] is function) //how can I tell if it is a function???
value = model[property]();
else
value = model[property];
}
Run Code Online (Sandbox Code Playgroud)