代码描述:javascript闭包用法。javascript闭包用法实例代码下载
闭包在js中具有举足轻重的地位,对于闭包的恰当应用能够使其成为一个有力的编码利器,本章节就通过代码实例分析一下闭包的作用,希望能够给需要的朋友带来一定的帮助,关于闭包的概念可以参阅javascript闭包概念简单解析一章节。 先看一个代码实例:
<script> 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); </script>
上面的代码运行一切正常,但是有个隐患,你不能保证value的值不会被外部恶意修改,因为value属性对外部是完全开放的。 代码修改如下:
<script> 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()); </script>
在以上代码中,由于变量value是一个局部变量,外部不能够随意访问,只能够通过调用add方法的方式修改value的值。 再来看一段代码实例:
<script> var func=function(value){ return{ getValue:function(){ return value; } } } var obj=func("antzone"); console.log(obj.getValue()); </script>
请绑定手机号,在继续操作
注意:只有绑定手机以后,才可使用网站全部功能