这是“return this”和“return false”之间的区别
我有这个代码,我正在努力理解它
var MicuentaView = function (globalService) {
var menu;
var Estatus;
this.initialize = function() {
this.$el = $('<div/>');
this.$el.on('click', '.VeEstatus', this.GoEstatus);
menu = new MenuView();
};
this.render = function(dataToRender) {
this.$el.html(this.template(dataToRender));
$('.MENU', this.$el).html(menu.$el);
console.log('rendereado');
return this;
};
/* events functions */
this.GoEstatus = function(event){
event.preventDefault();
Estatus = new EstatusView();
$('body', this.$el).html(Estatus.$el);
return false;
};
this.initialize();
};
非常感谢
答案 0 :(得分:1)
您很可能正在调用MicuentaView来创建对象,如下所示:
obj = new MicuentaView(something);
“this”将是对实例化的obj的引用。所以当你在obj.render()中调用方法“render”时,obj.render()将返回对obj的引用。
所以:
result = obj.render(); // assigns the reference of obj to result.
当您想要将方法(函数)链接在一起时,这很有用,例如
obj.render().toString();
obj.render()返回由渲染器修改的obj,然后toString()可以在生成的obj上执行它的操作。
“返回false;”只返回布尔值false。
将引用想象成其他语言中的指针(内存地址/对象的位置)。
答案 1 :(得分:0)
那些是完全不同的东西。 points
是一个布尔值,false
是调用该函数的对象的值(是的,这是过于简单化的。)