Javascript 在knockout js中,这两种编码方法有什么区别

Javascript 在knockout js中,这两种编码方法有什么区别,javascript,knockout.js,Javascript,Knockout.js,看看这两种方法,告诉我有什么区别。什么时候该用哪一种? 在第一种情况下,将创建实例,但在第二种情况下,在ko.applyBindings()时不会创建实例,因此代码如下 function MyViewModel() { var self = this; self.lastInterest = ko.observable(); self.places = ko.observableArray(['London', 'Paris', 'Tokyo

看看这两种方法,告诉我有什么区别。什么时候该用哪一种? 在第一种情况下,将创建实例,但在第二种情况下,在
ko.applyBindings()
时不会创建实例,因此代码如下

function MyViewModel() {
         var self = this;
         self.lastInterest = ko.observable();
         self.places = ko.observableArray(['London', 'Paris', 'Tokyo']);

         // The current item will be passed as the first parameter, so we know which place was hovered over
         self.logMouseOver = function(place) {
             self.lastInterest(place);
         }
     }
     ko.applyBindings(new MyViewModel());


var viewModel = {
        detailsEnabled: ko.observable(false),
        enableDetails: function() {
            this.detailsEnabled(true);
        },
        disableDetails: function() {
            this.detailsEnabled(false);
        }
    };
    ko.applyBindings(viewModel);

第一个代码部分是函数,第二个是基于类的模块设计模式代码,您可以在第二个代码中找到参数

看看这个:


另一个小问题是knockout js是由google开发的库,因为当我去knockout js论坛时,url看起来像groups.google.com/group/knockoutjs。