javascript閉包用法例項程式碼分析
閉包在js中具有舉足輕重的地位,對於閉包的恰當應用能夠使其成為一個有力的編碼利器,本章節就通過程式碼例項分析一下閉包的作用,希望能夠給需要的朋友帶來一定的幫助,關於閉包的概念可以參閱javascript閉包概念簡單解析一章節。
先看一個程式碼例項:
[JavaScript] 純文字檢視 複製程式碼var obj={ value:8, add:function(num){ this.value+=(typeof(num)==="number")?num:1; } } obj.add(); console.log(obj.value); obj.add(5); console.log(obj.value);
上面的程式碼執行一切正常,但是有個隱患,你不能保證value的值不會被外部惡意修改,因為value屬性對外部是完全開放的。
程式碼修改如下:
[JavaScript] 純文字檢視 複製程式碼var obj=(function(){ var value=8; return{ add:function(num){ value+=(typeof num === "number")?num:1; }, getValue:function(){ return value; } }; })(); obj.add(); console.log(obj.getValue()); obj.add(2); console.log(obj.getValue());
在以上程式碼中,由於變數value是一個區域性變數,外部不能夠隨意訪問,只能夠通過呼叫add方法的方式修改value的值。
再來看一段程式碼例項:
[JavaScript] 純文字檢視 複製程式碼var func=function(value){ return{ getValue:function(){ return value; } } } var obj=func("antzone"); console.log(obj.getValue());
以上程式碼也是一個閉包的應用,我們可以看做這裡的value是一個區域性變數,當func()函式執行完畢之後,我們依然可以使用此函式返回的物件訪問此變數。
相關文章
- JavaScript閉包原理與用法例項JavaScript
- javascript this 用法例項程式碼解析JavaScript
- javascript閉包的應用簡單程式碼例項JavaScript
- javascript閉包簡單程式碼例項JavaScript
- javascript排序各種演算法例項程式碼JavaScript排序演算法
- javascript模擬實現trim()方法例項程式碼JavaScript
- 閉包程式碼例項演示
- charAt()函式用法例項程式碼函式
- $.ajax()用法例項程式碼介紹
- javascript閉包的理解和例項JavaScript
- javascript 靜態方法和例項方法例項JavaScript
- <input type="range">標籤用法例項程式碼
- 邊界值分析法例項
- JavaScript建立物件方法例項小結JavaScript物件
- JavaScript閉包JavaScript
- JavaScript 閉包JavaScript
- JavaScript - 閉包JavaScript
- javascript關閉當前視窗例項程式碼JavaScript
- 自然分類演算法例項程式碼分享演算法
- [JavaScript閉包]Javascript閉包的判別,作用和示例JavaScript
- 好程式設計師技術分析JavaScript閉包特性詳解程式設計師JavaScript
- 閉包 | 淺談JavaScript閉包問題JavaScript
- 理解JavaScript 閉包JavaScript
- JavaScript 清除閉包JavaScript
- JavaScript 的閉包JavaScript
- JavaScript-閉包JavaScript
- JavaScript之閉包JavaScript
- 解密JavaScript閉包解密JavaScript
- Javascript 閉包(Closures)JavaScript
- 理解 JavaScript 閉包JavaScript
- Javascript閉包(Closure)JavaScript
- JavaScript 閉包基本指南JavaScript
- JavaScript 閉包那些事JavaScript
- 理解Javascript的閉包JavaScript
- JavaScript閉包詳解JavaScript
- 詳解 JavaScript 閉包JavaScript
- JavaScript:閉包學習JavaScript
- Javascript 閉包小結JavaScript