JavaScript沒有 static,如何定義區域性靜態變數?

時間 2021-06-01 06:23:39

1樓:liminyan

js 是有static 方法的,但是屬於新特性具體樣例如下class A

static run(){}//static方法A.myStatic //static 變數

2樓:batsing

alertTips=(

function

()})();

PS:因為原來的描述不夠清晰,所以刪改了。下面是原來的描述以前寫了個函式做了乙個自消失提示,類似如下varalertT

;//要用乙個變數來存定時控制代碼備用

function

alertTips

(tips

,color

)//避免上一次提示未消失時對本次的消失時間干擾$('...').

prependTo($

("body"));

alertT

=setTimeout

(function

(),1000);}

專案中很多地方都直接使用函式的方式來用 alertTips()函式,但這裡的 alertT 變數不要是全域性的,要是函式的區域性靜態就好了。但JS中沒有static修飾符,而如果使用形如閉包的形式的話就會在使用的時候要先例項化,專案中要作非常多的修改。

我理解的閉包形式如下:

varalertTips

=function

()return

foo;

}想請教各位,如何才能使 alertT 不作為全域性變數,又使這個函式的呼叫方式完全不改變呢?

我這裡有這個函式的完整版http://

3樓:kuitos

瀉藥看了半天不太明白你啥意思

你要的是這個?

alertTips.alertT = null;

function alertTips( tips, color34;.alertTips").remove(); //清除未消失的,避免重疊

if( alertTips.alertT )//避免上一次提示未消失時對本次的消失時間干擾

$('...

').prependTo( $("body"alertTips.alertT = setTimeout(function()

4樓:

class AlertTip {

private alertT: number;

private running: boolean;

constructor(private tip, private colorthis.running = falsestartif(this.runningthis.

stopthis.running = true39;.alertTips').

remove39;...

').prependTo( $("body"this.alertT = setTimeout(() =>39;.

alertTips').removethis.stop1000stopif(this.

runningthis.running = falseclearTimeout(this.alertT

用ts重寫了下, 還是oo好..

PHP 初學 沒有學過 JavaScript,只熟悉 HTML DIV CSS,這樣的背景如何申請 Web 前端工程師的職位?

李恩強 呃,不是打擊你,真的感覺你能寫的太泛了沒有任何專的東西.簡歷裡面需要寫實習經歷的,這個必須有.實習專案的內容要進口前端工程師的招聘要求,如果不知道他們要求那些技術,可以去前程無憂搜尋,然後對著他們的要求來寫簡歷.另外平均成績全班中上就別要了,還不如寫 社團社長之類的呢.既然是專業技能,那麼就...

為什麼JavaScript沒有計畫支援可選的強型別?

怡和 我認為加入強型別支援對乙個指令碼語言來說並沒有太多好處。js指令碼語言的設計初衷就是簡單靈活,加入強型別是犧牲了他的靈活性,得不償失。當然加入強型別也有好處,提高效率,便於除錯,但這些其實有很多方案可以去實現,現在js已經算是乙個前端領域的 底層語言 在js之上已經有非常豐富的第三方方案來解決...

JavaScript有沒有乙個比較不錯完整的utils helper庫啊?

葉鵬 樓上說的不錯,我再補充一些其他的 jQuery這種庫裡面提供了一部分js缺乏的一些功能函式.同類的還有prototype,mootools 這種.還有一類就是函式式程式設計的工具庫,lodash underscore 這類 leuncle 這種庫應該不會有吧,如果有個萬能的工具庫,我想它的體積...