数日前、私は自分の例でグローバル変数と関数がいかに悪いかを学びました。したがって、明らかに最善の解決策はそれらを使用しないことですが、遅かれ早かれ、変数と関数を何度も再利用する必要があります。
だから私の質問は:グローバルに宣言せずに関数と変数を再利用できますか?できますか?
たとえば、alertBox
関数とcontainsP
変数を数回再利用したいとします。
デモ:http://jsfiddle.net/ajmyZ/
//I am BAD GLOBAL FUNCTION inside var
//But I am reusable!!!
var alertBox = function () {
alert("Hey I am BAD function!!")
}
$(document).ready(function () {
//I am BAD GLOBAL var
//But I am reusable TOO!!!
var containsP = $("div p:first");
containsP.click(function () {
alert("Hi BAD var HERE!!");
});
$("p").eq(1).click(function () {
alertBox();
});
//I am the NICEST function here
//but I am NOT reusable :(
$("p").eq(2).click(function () {
alert("I am the NICEST function here!!");
});
});