如何让js中的函数只被有效执行一次,请看下面的三种常用方法。
1.
<script> ???????window.onload = function () { ???????????function once(fn) { ????????????????var result; ?????????????????????????return ?function() { ????????????????????if(fn) { ???????????????????????result = fn.apply(this, arguments); ???????????????????????fn = null; ???????????????????} ???????????????????return result; ???????????????}; ???????????} ???????????????????????var callOnce = once(function() { ???????????????console.log(‘javascript‘); ???????????}); ???????????????????????callOnce(); // javascript ???????????callOnce(); // null ???????} ???</script>
2.
?<script> ???????var func = function () { ???????????alert("正常调用"); ???????????func= function(){}; ???????} ???????func(); ???????func(); ???</script>
3.
<script> ???????window.onload = function () { ???????????var flag = true; ???????????function once() { ???????????????if (flag) { ???????????????????alert("我被调用"); ???????????????????flag = false; ???????????????} else { ???????????????????return; ???????????????} ???????????} ???????????once(); ???????????once(); ???????} ???</script>
让js中的函数只有一次有效调用的三种常用方法
原文地址:http://www.cnblogs.com/greatfish/p/7502521.html