作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我经常在 JavaScript 中看到如下内容:
$("#sendButton").click(function() {
sendForm();
}
为什么需要将对 sendForm()
的调用包装在一个函数中?我认为这样做会更具可读性和更少的输入。
$("#sendButton").click(sendForm);
每种方法的优点/缺点是什么?谢谢!
最佳答案
通常有两种情况您希望使用前者而不是后者:
如果您需要在调用函数之前对参数进行任何后处理。
如果您在对象上调用方法,则使用第二种形式时作用域(this reference)会有所不同
例如:
MyClass = function(){
this.baz = 1;
};
MyClass.prototype.handle = function(){
console.log(this.baz);
};
var o = new MyClass();
$('#foo').click(o.handle);
$('#foo').click(function(){
o.handle();
});
控制台输出:
undefined
1
关于javascript - 为什么有必要将函数调用包装在函数体中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14187668/
我正在使用 this solution在二进制矩阵中找到与图像边界对齐的矩形。假设现在我想找到一个不与图像边框对齐的矩形,并且我不知道它的方向;找到它的最快方法是什么? 为了示例,让我们寻找一个仅包含
else: 行在这个 Python 程序中是否正确/必要? from random import randrange for n in range(10): r = randrange(0,1
在 TDPL 7.1.5.1 中讨论了将 Widget w2 分配给 w1 并且作者指出“将 w2 逐个字段分配给 w1 会将 w2.array 分配给 w1.array——一个简单的数组边界分配,而
我是一名优秀的程序员,十分优秀!