數學命名空間和 BigInt
Math.sqrt 即 sqrt 是 Math 命名空間的一部份。
// 求平方根的 2 種方法。
數學.sqrt(100); // 10、方法一
100*(1/2); // 10、方法2
8*(1/3); // 2, 也適用於立方根
Math.max() 和 Math.min():
Math.max(23,54,12,6,32,98,87,34,11); // 98
// 也進行型別強制
Math.min(23,54,12,'6',32,98,87,34,11); // 6
// 不進行解析
Math.min(23,54,12,'6px',32,98,87,34,11); // NaN
Math 物件內建的常數:
Math.PI * (Number.parseFloat('10px')**(2)); // 取得區域
生成無黑白 1-6:
Math.trunc(Math.random() * 6) 1;
產生一個隨機的無黑白上限:
const randomInt = (min, max) =>; Math.floor(Math.random() * (最大-最小)) 1 分鐘;
randomInt(10,20);
// 所有這些 Math.method() 都會進行型別強制轉換。
數學.trunc(25.4); // 25
數學.round(25.4); // 25
數學.floor(25.4); // 25
數學.ceil(25.4); // 26
對於負數,Math.floor 是更好的選擇。
Math.trunc(-25.4); // -25
數學.floor(-25.4); // -26
// 四捨五入小數:.toFixed 傳回字串,而不是數字
(2.5).toFixed(0); // '3'
(2.5).toFixed(3); // '2.500'
(2.345).toFixed(2); // '2.35'
// 加一元符號將其轉換為數字。
(2.345).toFixed(2); // 2.35
// Number 是一個原語,因此它們沒有方法。所以在幕後,JS會進行裝箱,即將原始物件轉換為無對象,執行操作,然後當操作完成時,將其轉換回原始物件。
模數或餘數運算子:
5%2; // 1
8 % 3; // 2
8 / 3; // 2.6666666666666665
// 奇數或偶數
const isEven = n =>; n%2 === 0;
isEven(20);
isEven(21);
isEven(22);
用例:用於處理所有奇數行、偶數行、第 n 次等
數字分隔符號:[ES2021]
用來表示非常大的數字
這些是可以放置在數字之間的下劃線。引擎會忽略這些底線,減少開發人員的困惑。
前任。常量直徑 = 287_460_000_000;
直徑; // 287460000000
消費價格 = 342_25;
價格; // 34225
服務費1 = 1_500;
常量費用2 = 15_00;
費用1 === 費用2; // true
底線只能放在數字之間。
它不能與小數點相鄰。
它也不能放在編號的開頭或結尾。
const PI = 3.14_15;
PI; // 3.1415
全部都是無效的數字分隔符號範例
const PI = 3.1415; // 不能放在開頭。
const PI = 3.1415; // 不能放在最後
常數 PI = 3_.1415; // 不能與小數點相鄰放置。
const PI = 3.1415; // 不能與小數點相鄰放置。
const PI = 3._1415; // 不能連續放置兩個。
將字串轉換為數字:
數字('2500'); // 2500
數字('25_00'); // NaN ,因此我們只能在直接將數字分配給變數時使用。因此,如果字串中儲存了“否”或從 API 中獲取了“否”,則為避免錯誤,請勿使用“_”數字分隔符號。
parseInt 也類似,即 _ 之後的任何內容都會被丟棄,如下所示:
parseInt('25_00'); // 25
大整型
特殊類型的整數,在 ES2020 中引入
數字在內部表示為 64 位,即 64 個 1 或 0 來表示任何數字。僅53位元用於儲存數字,其餘用於儲存小數點位置和符號。因此,數字的大小有限制,即 ((2*53) - 1)。這是 JS 可以放心代表的最大的「否」。基數是 2,因為我們在儲存時以二進位形式工作。
2*53 - 1; // 9007199254740991
Number.MAX_SAFE_INTEGER; // 9007199254740991
任何大於此的東西都是不安全的,即它無法準確表示。對於大於此值的數字,精確度將會遺失,如最後一位數字所示。有時可能有效,有時則無效。
Number.MAX_SAFE_INTEGER 1; // 9007199254740992
Number.MAX_SAFE_INTEGER 2; // 9007199254740992
Number.MAX_SAFE_INTEGER 3; // 9007199254740994
Number.MAX_SAFE_INTEGER 4; // 9007199254740996
如果我們從比這個大的 API 得到一個更大的 no,那麼 JS 將無法處理它。為了解決上述問題,ES2020 中引入了 BigInt 一種新的原始資料類型。這可以儲存我們想要的大小的整數。
在 no 末尾加上「n」使其成為 BigInt。例如
const num = 283891738917391283734234324223122313243249821n;
數量; // 283891738917391283734234324223122313243249821n
BigInt 是顯示如此巨大數字的 JS 方式。
另一種使用建構子 Fn 來建立 BigInt 數字的方法。
const x = BigInt(283891738917391283734234324223122313243249821);
x; // 283891738917391288062871194223849945790676992n
操作:所有算術運算子與 BigInt 的工作原理相同;
const x = 100n 100n;
x; // 200n
const x = 10n * 10n;
x; // 100n
避免將 BigInt 數字與常規數字混合
const x = 100n;
const y = 10;
z = x*y; // 錯誤
要使其運作,請使用 BigInt 建構子 Fn:
z = x * BigInt(y);
z; // 1000n
比較運算子和一元運算子是例外。
20n> 19; // true
20n === 20; // false, === 阻止 JS 進行類型強制。 LHS 和 RHS 都有不同的原始類型,因此結果為「false」。
型別為 20n; // 'bigint'
類型20; // '數字'
20n == 20; // true,因為 JS 透過將 BigInt 轉換為常規數字進行類型強制,僅比較值而不比較類型。
同樣的情況也適用: 20n == '20'; // true
例外:
使用運算子時,BigInt 數字不會轉換為字串。
const num = 248923874328974239473829n
「num 很大,即」num; // 'num 很大,即 248923874328974239473829'
注意:
Math.sqrt 不適用於 BigInt。
在 BigInt 的除法過程中,它會丟棄小數部分。
10 / 3; // 3.3333333333333335
10n/3n; // 3n
12n/3n; // 4n
這個新的原始類型為 JS 語言添加了一些新功能,使其可以處理大量的資料。
以上是數學命名空間和 BigInt的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

JavaScript是現代Web開發的基石,它的主要功能包括事件驅動編程、動態內容生成和異步編程。 1)事件驅動編程允許網頁根據用戶操作動態變化。 2)動態內容生成使得頁面內容可以根據條件調整。 3)異步編程確保用戶界面不被阻塞。 JavaScript廣泛應用於網頁交互、單頁面應用和服務器端開發,極大地提升了用戶體驗和跨平台開發的靈活性。

Python和JavaScript開發者的薪資沒有絕對的高低,具體取決於技能和行業需求。 1.Python在數據科學和機器學習領域可能薪資更高。 2.JavaScript在前端和全棧開發中需求大,薪資也可觀。 3.影響因素包括經驗、地理位置、公司規模和特定技能。

實現視差滾動和元素動畫效果的探討本文將探討如何實現類似資生堂官網(https://www.shiseido.co.jp/sb/wonderland/)中�...

學習JavaScript不難,但有挑戰。 1)理解基礎概念如變量、數據類型、函數等。 2)掌握異步編程,通過事件循環實現。 3)使用DOM操作和Promise處理異步請求。 4)避免常見錯誤,使用調試技巧。 5)優化性能,遵循最佳實踐。

JavaScript的最新趨勢包括TypeScript的崛起、現代框架和庫的流行以及WebAssembly的應用。未來前景涵蓋更強大的類型系統、服務器端JavaScript的發展、人工智能和機器學習的擴展以及物聯網和邊緣計算的潛力。

如何在JavaScript中將具有相同ID的數組元素合併到一個對像中?在處理數據時,我們常常會遇到需要將具有相同ID�...

zustand異步操作中的數據更新問題在使用zustand狀態管理庫時,經常會遇到異步操作導致數據更新不及時的問題。 �...
