求js和jQuery多种保护内变量不受外界干扰的写法
求js和jQuery多种保护内变量不受外界干扰的写法 |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
你的需求很不明确!作为一个程序员,请注意清晰的表达很重要!请注意清晰的表达很重要!请注意清晰的表达很重要!
猜一下:你是想在外部得到内部的变量,但外部却不能改变函数内部的变量吗?
如果是这样的话,很简单啊,直接用闭包就好了(jQuery也是同样的道路啊)!
functionfoo(){vara=10;functionbar(){alert(a);//你也可以直接写returna;嘛}returnbar;}varbaz=foo();baz();//会弹出提示框显示10!你没办法在这里改变foo里面的a变量,但你却得到了a的值 另外一种闭包形式——立即执行函数:
vara=10!function(){vara=20;console.log(a);//会在控制台打印20}();console.log(a);//会在控制台打印10 |
|
|
|
|
使用闭包,实际的做法是
$(function(){
/*此处为需要防止变量污染的函数*/
}) |
|
|
|
|