将toString添加到类似骨干模型的对象

时间:2017-05-12 05:57:31

标签: javascript backbone.js tostring

我最近从Java后端改为JS前端。我们使用像对象结构这样的主干(至少是我的同事告诉我的),我想知道是否有办法覆盖toString()(例如应该从console.log调用)。

这就是我们的模型看起来像

// namespace
var De = {};
De.Ppasler = {};

De.Ppasler.Model = (function () {

/** @constructor */
function Model(param) {
   var self = this;

   self.public = function() {
    // do sth public
    console.log("public", private());
   };

   function private() {
    // do sth private
    return "private";
   }
   
   // this is what I would have done in Java
   self.toString = function() {
    return "[object Model]";
   }
 }

 return Model;
}());

var model = new De.Ppasler.Model();
model.public();
console.log(model);

添加toString模型不起作用。

我也试过this one

Model.prototype.toStringself.prototype.toString但这会导致错误

我无法确定model是否已定义,并且我希望避免undefined - 检查,然后直接调用toString进行登录。

0 个答案:

没有答案