The table below is not complete, but it should serve the purpose of striking out the unsuitable ones. For other comparisons please see these:

NameProsConsNotes
Backbone.js 
Ember.JS
  • included in npm index
  • developed by the authors of the famous SproutCore
  • infrastructure uses Ruby
  • 35kb
  • no dependencies
Knockout 
  • excluded from npm index
Spine
  • included in npm index
  • written in CoffeeScript
  • 3.2k
  • started on March, 2011
  • depends on Zepto or jQuery
ExtJS
  • included in npm index
  • non-free for commercial projects
  • 56k, modular
  • no dependencies
fidel
  • included in npm index
  • slim
  • only a controller
  • last updated on November, 2011
  • 1.7k
  • depends on Ender or Zepto or jQuery
Spry 
  • last updated in 2008
  • excluded from npm index
  • 216k, modular
  • no dependencies
MDV
  • authored by Google and Chromium developers
  • experimental
  • excluded from npm index
  • 108k, modular
  • no dependencies
JavaScriptMVC 
  • forces file system structure
  • excluded from npm index
  • ??, modular
  • no dependencies
YUI Library
  • included in npm index
 
Sammy.js 
  • uses hashbangs for routing
  • excluded from npm index
  • infrastructure uses Ruby
  • 104k, modular
  • started on March, 2009
  • depends on jQuery
AngularJS 
  • uses xml namespaces
  • excluded from npm index
  • 27k
  • no dependencies
Agility.js
  • slim
  • excluded from npm index
  • 4k
  • depends on jQuery

So the real candidates are Backbone.js, Knockout.js, YUI, Spine, Ember.js and Sammy.js. Apparently, the winner is Backbone.js. yay

But there are also countless other comparisons, for example:

UPDATES

Frameworks that were created after writing the comparison above: