2013-10-07 44 views
0

我很感兴趣,当我运行这个简单的功能JavaScript函数方法调用了什么?

$(window).resize(function() { 
    var that = $(this); 
    var widthValue = that.width(); 

    console.log(widthValue + 'px'); 
}); 

它的工作原理,当我开始我调整浏览器窗口。

但是,当我做到这一点

$(window).resize(function() { 
    var that = $(this); 
    var widthValue = that.width(); 

    console.log(widthValue + 'px'); 
}).resize(); 

它就像load();。最后我加了resize()

这是什么叫?不知道我明白为什么以及如何运作。

+3

您只需将一个函数绑定到一个事件,然后触发该事件。 –

+0

它不会像'load'那样行为,因为它会立即触发该功能 –

回答

5

该技术被称为链接

归结为一个返回this的函数,因此您可以通过依次链接方法调用来调用同一对象的另一个方法。

var foo = { 
    count: 0, 
    up: function() { this.count++; return this; }, 
    show: function() { alert(this.count); return this; } 
} 

foo.show().up().show().up().up().show(); 

在这个特例中,resize方法被重载。如果你给它一个函数参数,那么它将把该函数绑定为一个事件处理函数。如果你不带参数地调用它,那么它会触发该事件。

0

在第二种情况下,您正在调用或触发resize事件。

相关问题