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.第一次调用后,把func函数值空。func= function(){};
<script>
var func = function () {
alert("正常调用");
func= function(){};
}
func();
func();
</script>
3.设置一个值,通过boolean来控制后面的调用。flag
<script>
window.onload = function () {
var condition = true;
function once() {
if (condition) {
alert("我被调用");
condition = false;
} else {
return;
}
}
once();
once();
}
</script>