求js和jQuery多種保護內變量不受外界干擾的寫法
求js和jQuery多種保護內變量不受外界干擾的寫法
慕前端8664132
2016-10-13 14:27:53
TA貢獻3條經驗 獲得超1個贊
你的需求很不明確!作為一個程序員,請注意清晰的表達很重要!請注意清晰的表達很重要!請注意清晰的表達很重要!
猜一下:你是想在外部得到內部的變量,但外部卻不能改變函數內部的變量嗎?
如果是這樣的話,很簡單啊,直接用閉包就好了(jQuery也是同樣的道路?。?!
function?foo(){ ????var?a?=?10; ????function?bar(){ ??????alert(a);????//你也可以直接寫?return?a;?嘛 ????} ????return?bar; } var?baz?=?foo(); baz();????//會彈出提示框顯示10!你沒辦法在這里改變foo里面的a變量,但你卻得到了a的值
另外一種閉包形式——立即執行函數:
var?a?=?10 !function(){ ????var?a?=?20; ????console.log(a);????//會在控制臺打印?20 }(); console.log(a);????//會在控制臺打印?10
舉報