jQuery - 有什么区别
我正在检查我的一个客户端代码,并发现了这个问题。jQuery - 有什么区别
$(document).ready(function() {
function foo1() {
$("#id1").bind('click', function() {});
}
foo1();
function foo2() {
$("#id2").bind('click', function() {});
}
foo2();
});
他们正在做的是,在函数中附加事件处理程序,然后调用该函数。
它与以下内容有什么不同?
$(document).ready(function() {
$("#id1").bind('click', function() {});
$("#id2").bind('click', function() {});
});
这是直接在$(document).ready()
函数中附加事件处理函数。
它在两种情况下工作正常,我只是想知道是否有一些性能相关的问题或什么。就像一个工作更快或更慢。或者这是一种标准的做事方式,我不知道。
不同之处在于,您可以重新使用代码的该部分,以便在代码中的任意位置再次调用foo2(),而不是复制整个代码。
编辑:
让我给你举个例子
失败,它将需要显示与警报“你好,这是走错了!”你可以做这两件事情:
alert('Hello, that was going wrong!');
或
function showError() {
alert('Hello, that was going wrong!');
}
showError();
解决方案1似乎是最简单的一个。
但是.....想象一下,您正在开发一个非常大的项目,并且可以在1000个位置显示错误。现在您需要在1000个地方编辑您的消息,而不是仅仅一个地方。
或者当您想要显示HTML弹出窗口而不是提示时,想象一下改变它。
希望解释是有道理的,何时不请让我知道。
hehe ..是:) 我明白你在说什么。我在问是否有一些与性能有关的问题。 Creatind函数可让您重复使用代码。 – AdityaParab 2012-07-12 09:50:08
不会有很多的性能差异,而不是这种小的差异。 :) – Ronn0 2012-07-12 09:51:16
如果您使用JQuery> 1.7,您将需要使用'.on'而不是'.bind'。对于你的问题,它做同样的事情。 – 2012-07-12 09:41:46
谢谢Michael :) – AdityaParab 2012-07-26 09:11:58