Javascript 如何只执行一次函数

Javascript 如何只执行一次函数,javascript,html,Javascript,Html,我有一个函数作为一个更大的javascript文件的一部分,该文件执行一个基于setInterval()的函数。现在,虽然它使用了interval,但我确实希望它只执行一次,但基于它每执行一次20 TINY.height=function(){ return{ set:function(e,h,s,d){ e=typeof e=='object'?e:$(e); var oh=e.offsetHeight, ho=e.style.height||T

我有一个函数作为一个更大的javascript文件的一部分,该文件执行一个基于
setInterval()
的函数。现在,虽然它使用了interval,但我确实希望它只执行一次,但基于它每执行一次
20

TINY.height=function(){
    return{
        set:function(e,h,s,d){
            e=typeof e=='object'?e:$(e); var oh=e.offsetHeight, ho=e.style.height||TINY.style.val(e,'height');
            ho=oh-parseInt(ho); var hd=oh-ho>h?-1:1;
                    clearInterval(e.si);
                    e.si=setInterval(function(){TINY.height.tw(e,h,ho,hd,s)},20)
        },
        tw:function(e,h,ho,hd,s){
            var oh=e.offsetHeight-ho;
            if(oh==h){clearInterval(e.si)}else{if(oh!=h){e.style.height=oh+(Math.ceil(Math.abs(h-oh)/s)*hd)+'px'}}
        }
    }
}();

我应该修改什么,只执行一次,然后清除间隔?

这正是
setTimout()所做的。

这正是
setTimout()所做的
没有。

使用setTimeout而不是setIntervalultra简单解决方案:全局变量,当函数执行时用作信号标志。使用setTimeout而不是setIntervalultra简单解决方案:全局变量,当函数执行时用作信号标志。