几天前,我通过自己的示例了解到全局变量和函数有多糟糕。所以显然最好的解决方案是不要使用它们,但是迟早我需要一遍又一遍地重用我的变量和函数。
所以我的问题是:我可以在不全局声明的情况下重用我的函数和变量吗?可以做到吗?
例如,我想多次重用我的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!!");
});
});