成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

js怎么在控制臺(tái)輸出語(yǔ)句 vscode怎么運(yùn)行代碼?

vscode怎么運(yùn)行代碼?1、是從快捷再打開Visual Studio Code工具,后再新建項(xiàng)靜態(tài)頁(yè)面。2、創(chuàng)建一個(gè)靜態(tài)頁(yè)面,并先添加頁(yè)面代碼,然后把保存到,在用瀏覽器欄里點(diǎn)。3、點(diǎn)擊File菜單,

vscode怎么運(yùn)行代碼?

1、是從快捷再打開Visual Studio Code工具,后再新建項(xiàng)靜態(tài)頁(yè)面。

2、創(chuàng)建一個(gè)靜態(tài)頁(yè)面,并先添加頁(yè)面代碼,然后把保存到,在用瀏覽器欄里點(diǎn)。

3、點(diǎn)擊File菜單,你選OpenFolder,將項(xiàng)目文件導(dǎo)入到Visual Studio Code。

4、導(dǎo)入出來(lái)后,打開系統(tǒng)項(xiàng)目所依賴性太強(qiáng)的包是否完全安裝,項(xiàng)目配置文件。

5、新建一個(gè)終端窗口,在命令行然后輸入npmrunningdev運(yùn)行項(xiàng)目。

6、再再點(diǎn)File,然后把新建一個(gè)TypeScript文件ct.ts,去添加隨機(jī)的代碼。

7、打開一個(gè)終端窗口,查看是否按裝TypeScript插件,依靠tsc命令運(yùn)行文件。

工具/原料

Visual Studio CodeVue.jsJavaScriptHTML5CSS3

截圖工具

WPS

瀏覽器

方法/步驟

通過(guò)快捷可以打開Visual Studio Code工具,后再新建項(xiàng)靜態(tài)頁(yè)面

創(chuàng)建一個(gè)靜態(tài)頁(yè)面,并先添加頁(yè)面代碼,接著保存到,不使用瀏覽器打開系統(tǒng)

再點(diǎn)擊File菜單,中,選擇OpenFolder,將項(xiàng)目文件導(dǎo)入到Visual Studio Code

導(dǎo)入在里面后,欄里點(diǎn)項(xiàng)目所依戀的包是否安裝,項(xiàng)目配置文件

空白文檔一個(gè)終端窗口,在命令行鍵入npmrundev運(yùn)行項(xiàng)目

再直接點(diǎn)擊File,然后新建一個(gè)TypeScript文件ct.ts,添加對(duì)應(yīng)的代碼

然后打開一個(gè)終端窗口,查看有無(wú)完全安裝TypeScript插件,依靠tsc命令運(yùn)行文件

node.js安裝好后用什么編譯?

你想編譯程序什么?nodejs也可以然后啟動(dòng)js文件的,在不對(duì)應(yīng)的文件夾下命令行然后輸入nodedemo.js,即可先執(zhí)行demo.js文件。

建議使用node-gpy是可以程序編譯c寫的模塊。nodejs中還有編譯程序一些其他編譯語(yǔ)言了模塊,比如simpler、sass、ts

JS中循環(huán)和閉包如何理解?

提問(wèn)者就沒(méi)詳細(xì)說(shuō)明代碼,據(jù)描述,我猜測(cè)代碼應(yīng)當(dāng)及時(shí)::

for(vari1ilt6i)

{

settimeout()(function(){console.log(i)},i*1000)

}

這段循環(huán)將每隔1秒輸出四次6,這樣我們來(lái)推導(dǎo)下這段代碼:初始的i值為1,setinterval將設(shè)置里一個(gè)1*1000毫秒的timer,JS引擎中,timer的機(jī)制是將代碼function(){console.log(i)}壓入隊(duì)列,再等待trigger去觸發(fā)時(shí)負(fù)責(zé)執(zhí)行。只不過(guò)運(yùn)行代碼的執(zhí)行仍然是在初始的JS線程中,沒(méi)有任何再等待立馬不能執(zhí)行接下來(lái)的事情的循環(huán),只好壓入了2*1000一直在到5*1000的5個(gè)函數(shù),這個(gè)過(guò)程完全是不需要的時(shí)間的(循環(huán)2次對(duì)現(xiàn)在的CPU來(lái)說(shuō)基本是應(yīng)該是0毫秒)。所以從當(dāng)前正在起計(jì)秒,到1、2、3、4、5秒時(shí)均想執(zhí)行一次函數(shù),在我們很顯然應(yīng)該是每隔1秒鐘輸出低了第二次i。

下一步看為什么輸出了3次6而不是什么1-4,緊接著上面的過(guò)程,還在JS線程當(dāng)中,循環(huán)到i5壓入timer函數(shù)后,i依舊是要不能執(zhí)行的,此時(shí)i的值是6,進(jìn)入循環(huán)體確認(rèn)ilt6失敗的話,循環(huán)已經(jīng)結(jié)束。JS線程結(jié)束后。

1000毫秒處的trigger觸發(fā)后,JS回答器被傳來(lái)代碼function(){console.log(i)},i變量這對(duì)這個(gè)function塊來(lái)說(shuō)是undefined,解釋器又開始向上層塊代碼去收索變量i,此例中只有兩層,函數(shù)的上層就是JS環(huán)境的最頂層global,global中可以找到變量i,其值是6,隨后控制臺(tái)作為輸出了6;后面4次trigger不觸發(fā)時(shí)原理完全相同,因此輸出低了2次6,不宜超過(guò)是1秒。

就是為了加深理解,我們把代碼一點(diǎn)如何修改幫一下忙:

for(vari1ilt6i)

{

setinterval((function(){console.log(i)})(),i*1000)

}

結(jié)果是剎那間作為輸出12345,因?yàn)?sourceCodeBlock)()這個(gè)行為是一個(gè)立馬執(zhí)行的行為,也就是在上次的JS循環(huán)線程中,每一道循環(huán)變會(huì)先執(zhí)行第二次sourceCodeBlock,它的上層塊是循環(huán)體,循環(huán)體中的i變量應(yīng)該是當(dāng)次循環(huán)中i的值。settimeout只是將這個(gè)閉包block負(fù)責(zé)執(zhí)行的結(jié)果壓入了timer隊(duì)列,這個(gè)執(zhí)行結(jié)果到了trigger觸發(fā)時(shí)時(shí)在JS運(yùn)行環(huán)境里既不是函數(shù)類型又不是表達(dá)式類型,沒(méi)有任何意義,在引擎請(qǐng)解釋的階段都會(huì)被360優(yōu)化掉。而后面的5秒鐘,瀏覽器沒(méi)有任何動(dòng)作。