国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
關(guān)鍵要點(diǎn)
JavaScript舍入
使用Math.round在JavaScript中舍入數(shù)字
使用Math.floor舍入數(shù)字
使用Math.ceil舍入數(shù)字
使用Math.trunc舍入數(shù)字
在JavaScript中將數(shù)字舍入到小數(shù)位
使用Number.toFixed舍入到小數(shù)位
使用Number.toPrecision舍入到小數(shù)位
JavaScript中舍入數(shù)字的問題
我應(yīng)該使用哪些舍入數(shù)字的方法?
關(guān)于在JavaScript中舍入數(shù)字的常見問題解答
首頁 web前端 js教程 JavaScript中舍入數(shù)字的指南

JavaScript中舍入數(shù)字的指南

Feb 09, 2025 am 11:32 AM

A Guide to Rounding Numbers in JavaScript

本文探討JavaScript中各種數(shù)字舍入方法,包括使用JavaScript數(shù)學(xué)函數(shù)和其他舍入到小數(shù)位的方法。我們還將介紹舍入數(shù)字時(shí)需要注意的問題。

關(guān)鍵要點(diǎn)

  • JavaScript提供了幾種舍入數(shù)字的方法,包括Math.round、Math.floor、Math.ceilMath.trunc。Math.round舍入到最接近的整數(shù),Math.floor向下舍入,Math.ceil向上舍入,Math.trunc截?cái)鄶?shù)字的小數(shù)部分。
  • 對(duì)于將數(shù)字舍入到特定的小數(shù)位數(shù)或有效數(shù)字,JavaScript提供Number.toFixedNumber.toPrecision方法。這些方法將舍入后的數(shù)字作為字符串返回。
  • 在處理負(fù)數(shù)時(shí),Math.round、Math.floorMath.ceilMath.trunc的行為有所不同。例如,Math.floor將負(fù)數(shù)向下舍入到下一個(gè)最小的整數(shù),而Math.trunc截?cái)嘈?shù)部分,有效地將其向上舍入。
  • 由于數(shù)字的二進(jìn)制表示,JavaScript中可能會(huì)出現(xiàn)精度問題。某些十進(jìn)制數(shù)無法在二進(jìn)制中精確表示,從而導(dǎo)致舍入誤差。Math.fround方法可用于查找32位中最接近的可表示數(shù)字。
  • 舍入方法的選擇取決于具體的用例。Math.round是舍入到最接近整數(shù)的良好通用選擇,但Math.floor、Math.ceilMath.trunc可能更適合始終向下或向上舍入,或處理負(fù)數(shù)。Number.toFixedNumber.toPrecision應(yīng)用于舍入到特定的小數(shù)位數(shù)或有效數(shù)字。

JavaScript舍入

在處理數(shù)值時(shí),我們有時(shí)會(huì)執(zhí)行計(jì)算,這些計(jì)算最終會(huì)產(chǎn)生需要舍入到整數(shù)的小數(shù)部分——例如,當(dāng)您計(jì)算平均價(jià)格或處理隨機(jī)數(shù)時(shí)。幸運(yùn)的是,JavaScript的Math對(duì)象提供了許多將數(shù)字舍入到整數(shù)值的方法。

在我們的示例中,我們將使用兩個(gè)最重要的數(shù)學(xué)常數(shù)來演示不同類型的舍入:π(圓的周長(zhǎng)與其直徑之比)和e(自然對(duì)數(shù)的底數(shù),也稱為“歐拉數(shù)”)。這兩個(gè)值都是Math對(duì)象的屬性,但讓我們將它們賦值給一些變量,以便更容易處理:

const PI = Math.PI;
const E = Math.E;

專業(yè)提示:您還可以使用對(duì)象解構(gòu)在一行中進(jìn)行此賦值:

const { PI, E } = Math;

現(xiàn)在我們已經(jīng)定義了這些常數(shù),讓我們來看一下JavaScript中一些舍入數(shù)字的方法。

使用Math.round在JavaScript中舍入數(shù)字

我們將要查看的第一個(gè)方法是Math.round。這是最直接的選擇,它只是將任何帶有小數(shù)部分的數(shù)字舍入到最接近的整數(shù)。它使用以下規(guī)則:如果一個(gè)數(shù)字正好位于兩個(gè)整數(shù)之間,則將其向上舍入。例如,2.5將向上舍入到3。

要使用此方法,我們只需提供要舍入的數(shù)字作為參數(shù):

const PI = Math.PI;
const E = Math.E;

如果您想將數(shù)字舍入到最接近的整數(shù)值,Math.round()非常方便。例如,如果您要計(jì)算三次測(cè)試的平均分?jǐn)?shù),則將三個(gè)分?jǐn)?shù)相加并除以三。這可能不會(huì)得到一個(gè)整數(shù),因此您可以使用Math.round()將其舍入到最接近的值:

const { PI, E } = Math;

使用Math.floor舍入數(shù)字

我們將要查看的下一個(gè)方法是Math.floor。這始終將值向下舍入到下面的整數(shù)(名稱意味著數(shù)字被向下推到“地板”):

Math.round(2.3); // 因?yàn)楦咏?,所以向下舍入

Math.round(2.921); // 因?yàn)楦咏?,所以向上舍入

Math.round(2.5); // 因?yàn)檎梦挥谥虚g,所以向上舍入

Math.round(PI);

Math.round(E);

Math.floor的一個(gè)常見用法是創(chuàng)建隨機(jī)整數(shù)。向下舍入確保整數(shù)從零開始,并且每個(gè)整數(shù)都有相同的被返回的機(jī)會(huì)。從零開始通常很有用,因?yàn)镴avaScript中的數(shù)組是零索引的,因此向下舍入將確??梢赃x擇數(shù)組中的第一個(gè)元素。下面的示例顯示了如何使用Math.floor從數(shù)組中選擇一個(gè)隨機(jī)元素:

const test1 = 86;
const test2 = 93;
const test3 = 95;
const average = Math.round((test1 + test2 + test3) / 3);

上面的代碼中使用Math.floor向下舍入確保返回0到4之間的索引,因此數(shù)組中的每個(gè)元素都有相同的被選擇的機(jī)會(huì)。

使用Math.ceil舍入數(shù)字

說到向上舍入,這正是Math.ceil所做的。這個(gè)名稱來自“天花板”,與“地板”相反,這意味著值正在上升。此方法的工作方式與所有其他方法相同。只需提供要向上舍入的數(shù)字作為參數(shù):

Math.floor(2.3); // 向下舍入到2

Math.floor(2.921); // 向下舍入到2

Math.floor(2.5); // 向下舍入到2

Math.floor(PI);

Math.floor(E);

但是,您何時(shí)需要向上舍入一個(gè)數(shù)字呢?一個(gè)常見的用法是,如果您需要計(jì)算需要多少個(gè)容器來容納某物。例如,假設(shè)您有一個(gè)包含播放列表的音樂網(wǎng)站,每個(gè)播放列表包含十首歌曲。如果有人上傳了82首歌曲,您需要計(jì)算出要?jiǎng)?chuàng)建多少個(gè)播放列表。這是通過將歌曲數(shù)量除以10(每個(gè)播放列表中的歌曲數(shù)量)來完成的:

const fruit = ["?", "?", "?", "?", "?"];

const randomFruit = fruit[Math.floor(Math.random() * fruit.length)];

使用Math.round會(huì)將其向下舍入到8……但是,我們不會(huì)為最后兩首歌曲創(chuàng)建一個(gè)播放列表!在這種情況下,我們始終需要向上舍入,以便為任何余數(shù)提供額外的容器:

Math.ceil(2.3); // 向上舍入到3

Math.ceil(2.921); // 向上舍入到3

Math.ceil(2.5); // 向上舍入到3

Math.ceil(PI);

Math.ceil(E);

使用Math.trunc舍入數(shù)字

我們將要查看的下一個(gè)方法是Math.trunc。嚴(yán)格來說,這不是一個(gè)舍入函數(shù);它實(shí)際上是截?cái)嗵峁┑膮?shù)數(shù)字。它基本上只是刪除數(shù)字的小數(shù)部分,只留下整數(shù)部分,如下面的示例所示:

const PI = Math.PI;
const E = Math.E;

乍一看,Math.trunc似乎與Math.floor相同;當(dāng)然,到目前為止給出的所有示例都給出了相同的結(jié)果。但是,當(dāng)提供負(fù)值作為參數(shù)時(shí),這兩種方法的行為有所不同,如下面的示例所示:

const { PI, E } = Math;

差異發(fā)生是因?yàn)?,?dāng)使用Math.floor向下舍入負(fù)數(shù)時(shí),它會(huì)向下舍入到下一個(gè)最小的整數(shù),而截?cái)嘭?fù)值等效于將其向上舍入。

當(dāng)參數(shù)為負(fù)數(shù)時(shí),Math.ceil返回與Math.trunc相同的值:

Math.round(2.3); // 因?yàn)楦咏?,所以向下舍入

Math.round(2.921); // 因?yàn)楦咏?,所以向上舍入

Math.round(2.5); // 因?yàn)檎梦挥谥虚g,所以向上舍入

Math.round(PI);

Math.round(E);

所有這些方法都非常有用,但它們有一個(gè)局限性,即它們始終返回整數(shù)值。如果我們想將數(shù)字舍入到特定的小數(shù)位數(shù)或有效數(shù)字怎么辦?

在JavaScript中將數(shù)字舍入到小數(shù)位

我們已經(jīng)看到Math.round會(huì)將數(shù)字舍入到最接近的整數(shù)。不幸的是,Math對(duì)象沒有提供任何方法可以更精確地將數(shù)字舍入到特定的小數(shù)位數(shù)。幸運(yùn)的是,Number類型有一些內(nèi)置方法可以做到這一點(diǎn)。讓我們來看看它們。

使用Number.toFixed舍入到小數(shù)位

這是一個(gè)數(shù)字方法,這意味著它由數(shù)字本身調(diào)用。它將十進(jìn)制數(shù)舍入到給定的小數(shù)位數(shù),該小數(shù)位數(shù)作為參數(shù)提供:

const test1 = 86;
const test2 = 93;
const test3 = 95;
const average = Math.round((test1 + test2 + test3) / 3);

需要注意的一點(diǎn)是,該值作為字符串返回。您可以通過將方法調(diào)用包裝在Number函數(shù)中來解決此問題,這會(huì)將結(jié)果轉(zhuǎn)換回?cái)?shù)字:

Math.floor(2.3); // 向下舍入到2

Math.floor(2.921); // 向下舍入到2

Math.floor(2.5); // 向下舍入到2

Math.floor(PI);

Math.floor(E);

還要注意:如果您嘗試將此方法應(yīng)用于已經(jīng)是整數(shù)的數(shù)字,則如果只使用單個(gè)點(diǎn)調(diào)用該方法,則會(huì)出錯(cuò):

const fruit = ["?", "?", "?", "?", "?"];

const randomFruit = fruit[Math.floor(Math.random() * fruit.length)];

您不能使用單個(gè)點(diǎn)在整數(shù)上調(diào)用方法,因?yàn)椴磺宄c(diǎn)是方法調(diào)用運(yùn)算符還是小數(shù)點(diǎn)。要解決此問題,您可以將整數(shù)放在括號(hào)中或使用兩個(gè)點(diǎn),以便清楚地表明您正在調(diào)用方法而不是編寫帶有小數(shù)點(diǎn)的數(shù)字文字:

Math.ceil(2.3); // 向上舍入到3

Math.ceil(2.921); // 向上舍入到3

Math.ceil(2.5); // 向上舍入到3

Math.ceil(PI);

Math.ceil(E);

如果沒有提供參數(shù),則數(shù)字將舍入到最接近的整數(shù)(但作為字符串返回):

const songsPerPlaylist = 10;
const numberOfSongs = 82;
const numberOfPlaylists = numberOfSongs / songsPerPlaylist;

舍入到設(shè)定的幾位小數(shù)的一個(gè)常見用例是處理貨幣——例如,如果您想以最接近美分的美元提供某物的價(jià)格。假設(shè)您有一個(gè)電子商務(wù)網(wǎng)站,正在進(jìn)行促銷活動(dòng),購物車中的任何商品都可享受15%的折扣。在顯示折扣價(jià)格之前,可能需要對(duì)其進(jìn)行舍入:

const numberOfPlaylists = Math.ceil(numberOfSongs / songsPerPlaylist);

這可以使用Number.toFixed輕松修復(fù):

Math.trunc(2.3); // 只留下2

Math.trunc(2.921); // 只留下2,即使它更接近3

Math.trunc(2.5); // 只留下2

Math.trunc(PI);

Math.trunc(E);

注意:有關(guān)您可能遇到的toFixed()問題的更多信息,請(qǐng)參閱Number().toFixed()舍入錯(cuò)誤:已損壞但可修復(fù)。

使用Number.toPrecision舍入到小數(shù)位

Number.toPrecision方法的工作方式類似于Number.toFixed方法,但它將數(shù)字舍入到固定數(shù)量的有效數(shù)字。

如果您需要快速提醒有效數(shù)字,它基本上意味著只使用第一個(gè)非零數(shù)字。對(duì)于大數(shù),最終答案也將用零填充。例如,舍入到兩位有效數(shù)字的數(shù)字53,863將變?yōu)?4,000。這是因?yàn)?和3是前兩位非零數(shù)字,并且由于下一個(gè)數(shù)字是8,所以它向上舍入。我們需要在末尾添加零以確保舍入值是原始數(shù)字的合理近似值。

您也可以以類似的方式舍入小數(shù)。例如,0.00000623978將舍入到0.0000062到兩位有效數(shù)字,因?yàn)?和2是前兩位非零數(shù)字,并且由于下一個(gè)數(shù)字是3,所以它向下舍入。

要使用此方法,只需在數(shù)字上調(diào)用它,并提供有效數(shù)字的數(shù)量作為參數(shù)(記住,整數(shù)需要在調(diào)用它們之前放在括號(hào)中):

const PI = Math.PI;
const E = Math.E;

請(qǐng)注意,所有值都作為字符串返回,并且可以使用指數(shù)表示法——例如“5.4e 4”而不是“54000”。

如前所述,我們可以通過將方法調(diào)用包裝在Number函數(shù)中來確保返回一個(gè)數(shù)字:

const { PI, E } = Math;

舍入到給定有效數(shù)字的一個(gè)常見用途是當(dāng)您處理大數(shù)并且不確定它們到底有多大時(shí)。例如,假設(shè)您想報(bào)告最新帖子被“點(diǎn)贊”的次數(shù),您是將其舍入到最接近的10、100還是1000?在某種程度上,這取決于它的流行程度;如果它只獲得8個(gè)贊,您不希望將其舍入到最接近的100,但如果它獲得數(shù)千個(gè)贊,那么將其舍入到最接近的10似乎很愚蠢。解決方案是將其舍入到一位有效數(shù)字:

Math.round(2.3); // 因?yàn)楦咏?,所以向下舍入

Math.round(2.921); // 因?yàn)楦咏?,所以向上舍入

Math.round(2.5); // 因?yàn)檎梦挥谥虚g,所以向上舍入

Math.round(PI);

Math.round(E);

JavaScript中舍入數(shù)字的問題

在JavaScript(或任何編程語言)中舍入數(shù)字時(shí),需要注意一些事項(xiàng)。正如您可能知道的那樣,計(jì)算機(jī)將所有數(shù)據(jù)(包括數(shù)字)存儲(chǔ)為二進(jìn)制表示。JavaScript將數(shù)字存儲(chǔ)為32位單精度二進(jìn)制值。

這樣做的一個(gè)問題是,某些十進(jìn)制數(shù)無法在二進(jìn)制中精確表示。這通常不會(huì)造成任何問題,但它確實(shí)會(huì)導(dǎo)致一些奇怪的結(jié)果,例如:

const test1 = 86;
const test2 = 93;
const test3 = 95;
const average = Math.round((test1 + test2 + test3) / 3);

這是因?yàn)?.1和0.2無法在二進(jìn)制中精確表示,并且在將它們相加時(shí)會(huì)產(chǎn)生輕微的誤差。

Math對(duì)象有另一個(gè)稱為fround的方法,它返回可以使用32位表示的最接近的數(shù)字。例如,0.6125可以精確地表示為二進(jìn)制0.101,因此這將返回相同的值:

Math.floor(2.3); // 向下舍入到2

Math.floor(2.921); // 向下舍入到2

Math.floor(2.5); // 向下舍入到2

Math.floor(PI);

Math.floor(E);

但是,正如我們上面看到的,0.1無法在32位中精確表示。Math.fround向我們顯示了可以表示的最接近的數(shù)字:

const PI = Math.PI;
const E = Math.E;

如您所見,它非常接近0.1,但非常略高。在大多數(shù)實(shí)際情況下,這不會(huì)造成任何問題,但當(dāng)您嘗試舍入某些數(shù)字時(shí),它偶爾會(huì)造成一些奇怪的行為:

const { PI, E } = Math;

發(fā)生這種情況是因?yàn)槭M(jìn)制3.55無法使用32位精確表示。我們可以使用Math.fround來查看它的實(shí)際表示方式:

Math.round(2.3); // 因?yàn)楦咏?,所以向下舍入

Math.round(2.921); // 因?yàn)楦咏?,所以向上舍入

Math.round(2.5); // 因?yàn)檎梦挥谥虚g,所以向上舍入

Math.round(PI);

Math.round(E);

如您所見,它實(shí)際上由浮點(diǎn)數(shù)3.549999952316284表示,它向下舍入到3.5。

JavaScript中舍入數(shù)字的這些問題并不經(jīng)常發(fā)生,但是如果您正在進(jìn)行大量舍入,尤其是在結(jié)果必須準(zhǔn)確的情況下,您絕對(duì)應(yīng)該注意這些問題。

我應(yīng)該使用哪些舍入數(shù)字的方法?

有了本文中介紹的所有舍入方法,您可能會(huì)問哪種方法最好用。答案總是“這取決于”。

如果您只想將數(shù)字舍入到最接近的整數(shù),那么使用Math.round不會(huì)出錯(cuò),但是如果您始終希望向下或向上舍入,而不管小數(shù)部分是什么,您也應(yīng)該考慮使用Math.floorMath.ceil。如果您還計(jì)劃舍入負(fù)數(shù),請(qǐng)考慮改用Math.trunc

如果您需要舍入到給定的小數(shù)位數(shù)或有效數(shù)字,則必須使用Number.toFixedNumber.toPrecision。但請(qǐng)注意,這兩個(gè)方法都是由數(shù)字調(diào)用的,并返回一個(gè)字符串。

您可以在下面的CodePen演示中看到本文中介紹的所有不同類型的舍入示例。

CodePen演示鏈接

有了所有這些不同的方法,您以后應(yīng)該不會(huì)再有舍入數(shù)字的問題了。

如果您覺得這篇文章有用,您可能還會(huì)喜歡這些:

  • JavaScript數(shù)字趣聞
  • 快速提示:如何在JavaScript中將數(shù)字轉(zhuǎn)換為序數(shù)

關(guān)于在JavaScript中舍入數(shù)字的常見問題解答

如何在JavaScript中將數(shù)字舍入到最接近的整數(shù)?您可以使用Math.round()函數(shù)將數(shù)字舍入到最接近的整數(shù)。例如,Math.round(3.14)將得到3,Math.round(4.76)將得到5。

Math.round()、Math.floor()Math.ceil()有什么區(qū)別?Math.round()舍入到最接近的整數(shù),Math.floor()向下舍入到最接近的整數(shù),Math.ceil()向上舍入到最接近的整數(shù)。

我可以將數(shù)字舍入到特定的小數(shù)位數(shù)嗎?是的,您可以使用toFixed()方法將數(shù)字舍入到特定的小數(shù)位。例如,let roundedNumber = 3.14159.toFixed(2)將得到3.14。

Math.round()如何處理具有.5小數(shù)部分的數(shù)字?Math.round()使用“四舍五入”邏輯,這意味著當(dāng)小數(shù)部分正好為.5時(shí),它會(huì)舍入到最接近的偶數(shù)整數(shù)。例如,Math.round(2.5)的結(jié)果為2,Math.round(3.5)的結(jié)果為4。

我可以使用Math.round()舍入正數(shù)和負(fù)數(shù)嗎?是的,Math.round()適用于正數(shù)和負(fù)數(shù)。它像往常一樣舍入正數(shù),并將負(fù)數(shù)舍入到零。

JavaScript中會(huì)發(fā)生舍入錯(cuò)誤嗎?是的,由于計(jì)算機(jī)中浮點(diǎn)運(yùn)算的工作方式,可能會(huì)發(fā)生舍入錯(cuò)誤。務(wù)必注意潛在的精度問題,尤其是在處理非常大或非常小的數(shù)字時(shí)。在這種情況下,請(qǐng)考慮使用像decimal.js這樣的庫來進(jìn)行更精確的算術(shù)運(yùn)算。

以上是JavaScript中舍入數(shù)字的指南的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

Java vs. JavaScript:清除混亂 Java vs. JavaScript:清除混亂 Jun 20, 2025 am 12:27 AM

Java和JavaScript是不同的編程語言,各自適用于不同的應(yīng)用場(chǎng)景。Java用于大型企業(yè)和移動(dòng)應(yīng)用開發(fā),而JavaScript主要用于網(wǎng)頁開發(fā)。

JavaScript評(píng)論:簡(jiǎn)短說明 JavaScript評(píng)論:簡(jiǎn)短說明 Jun 19, 2025 am 12:40 AM

JavascriptconcommentsenceenceEncorenceEnterential gransimenting,reading and guidingCodeeXecution.1)單inecommentsareusedforquickexplanations.2)多l(xiāng)inecommentsexplaincomplexlogicorprovideDocumentation.3)

如何在JS中與日期和時(shí)間合作? 如何在JS中與日期和時(shí)間合作? Jul 01, 2025 am 01:27 AM

JavaScript中的日期和時(shí)間處理需注意以下幾點(diǎn):1.創(chuàng)建Date對(duì)象有多種方式,推薦使用ISO格式字符串以保證兼容性;2.獲取和設(shè)置時(shí)間信息可用get和set方法,注意月份從0開始;3.手動(dòng)格式化日期需拼接字符串,也可使用第三方庫;4.處理時(shí)區(qū)問題建議使用支持時(shí)區(qū)的庫,如Luxon。掌握這些要點(diǎn)能有效避免常見錯(cuò)誤。

為什么要將標(biāo)簽放在的底部? 為什么要將標(biāo)簽放在的底部? Jul 02, 2025 am 01:22 AM

PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl

JavaScript與Java:開發(fā)人員的全面比較 JavaScript與Java:開發(fā)人員的全面比較 Jun 20, 2025 am 12:21 AM

JavaScriptIspreferredforredforwebdevelverment,而Javaisbetterforlarge-ScalebackendsystystemsandSandAndRoidApps.1)JavascriptexcelcelsincreatingInteractiveWebexperienceswebexperienceswithitswithitsdynamicnnamicnnamicnnamicnnamicnemicnemicnemicnemicnemicnemicnemicnemicnddommanipulation.2)

JavaScript:探索用于高效編碼的數(shù)據(jù)類型 JavaScript:探索用于高效編碼的數(shù)據(jù)類型 Jun 20, 2025 am 12:46 AM

javascripthassevenfundaMentalDatatypes:數(shù)字,弦,布爾值,未定義,null,object和symbol.1)numberSeadUble-eaduble-ecisionFormat,forwidevaluerangesbutbecautious.2)

什么是在DOM中冒泡和捕獲的事件? 什么是在DOM中冒泡和捕獲的事件? Jul 02, 2025 am 01:19 AM

事件捕獲和冒泡是DOM中事件傳播的兩個(gè)階段,捕獲是從頂層向下到目標(biāo)元素,冒泡是從目標(biāo)元素向上傳播到頂層。1.事件捕獲通過addEventListener的useCapture參數(shù)設(shè)為true實(shí)現(xiàn);2.事件冒泡是默認(rèn)行為,useCapture設(shè)為false或省略;3.可使用event.stopPropagation()阻止事件傳播;4.冒泡支持事件委托,提高動(dòng)態(tài)內(nèi)容處理效率;5.捕獲可用于提前攔截事件,如日志記錄或錯(cuò)誤處理。了解這兩個(gè)階段有助于精確控制JavaScript響應(yīng)用戶操作的時(shí)機(jī)和方式。

See all articles