从Knockout v2.1.0调试源代码:
ko.observable['fn'] = { "equalityComparer": function valuesArePrimitiveAndEqual(a,b) { var oldValueIsPrimitive = (a === null) || (typeof(a) in primitiveTypes); return oldValueIsPrimitive ? (a === b) : false; } };
这对我来说似乎是不直观的,但是必须有一些原因史蒂夫·桑德森(Steve Sanderson)为了定义这一点而出路.为什么会这样呢?似乎不必要地触发更改通知.