æ¬ç« èä»ç»äºå¨ JavaScript ä¸ä½¿ç¨æ°ååæ¥ææ¥å¤çåæ§è¡è®¡ç®çæ¦å¿µï¼å¯¹è±¡å彿°ã
æ¬ç« èä»ç»å¦ä½ææ¡ Javascript éçæ°å忥æç±»å
æ°åå¨ JavaScript éé¢ï¼æ°åå为å精度浮ç¹ç±»åï¼double-precision 64-bit binary format IEEE 754ï¼ï¼å³ä¸ä¸ªä»äº ±2^â1023 å ±2^+1024 ä¹é´çæ°åï¼æçº¦ä¸º ±10^â308 å° Â±10^+308ï¼æ°å精度为 53 ä½ãæ´æ°æ°å¼ä» å¨ Â±(2^53 - 1) çèå´å å¯ä»¥è¡¨ç¤ºåç¡®ã
é¤äºè½å¤è¡¨ç¤ºæµ®ç¹æ°ï¼æ°åç±»åä¹è¿è½è¡¨ç¤ºä¸ç§ç¬¦å·å¼ï¼+
Infinity
ï¼æ£æ ç©·ï¼ã-
Infinity
ï¼è´æ ç©·ï¼å NaN
(not-a-numberï¼éæ°å)ã
JavaScript æè¿æ·»å äº BigInt
çæ¯æï¼è½å¤ç¨äºè¡¨ç¤ºæå¤§çæ°åãä½¿ç¨ BigInt çæ¶åæä¸äºæ³¨æäºé¡¹ï¼ä¾å¦ï¼ä½ ä¸è½è®© BigInt å Number
ç´æ¥è¿è¡è¿ç®ï¼ä½ ä¹ä¸è½ç¨ Math
å¯¹è±¡å»æä½ BigInt æ°åã
请åè§ Javascript æåä¸ç JavaScript æ°æ®ç±»ååæ°æ®ç»æï¼äºè§£å ¶ä»æ´å¤çåºæ¬ç±»åã
ä½ å¯ä»¥ä½¿ç¨åç§æ°åè¿å¶ï¼åè¿å¶ãäºè¿å¶ãå «è¿å¶ååå è¿å¶ã
åè¿å¶æ°å请注æï¼åè¿å¶å¯ä»¥ä»¥ 0 å¼å¤´ï¼å颿¥å ¶ä»åè¿å¶æ°åï¼ä½æ¯åå¦ä¸ä¸ä¸ªæ¥çåè¿å¶æ°åå°äº 8ï¼é£ä¹è¯¥æ°åå°ä¼è¢«å½åå «è¿å¶å¤çã
0888 // 888 以åè¿å¶è§£æ
0777 // 以å
«è¿å¶è§£æï¼ä¸ºåè¿å¶ç 511
äºè¿å¶æ°å
äºè¿å¶æ°åè¯æ³æ¯ä»¥é¶ä¸ºå¼å¤´ï¼å颿¥ä¸ä¸ªå°åæå¤§åçæä¸æåæ¯ B(0b
æè
æ¯ 0B
)ãåå¦ 0b åé¢çæ°å䏿¯ 0 æè
1ï¼é£ä¹å°±ä¼æç¤ºè¿æ ·çè¯æ³é误ï¼SyntaxError
ï¼ï¼âMissing binary digits after 0bï¼0b ä¹åç¼ºå¤±äºææçäºè¿å¶æ°æ®ï¼âã
0b10000000000000000000000000000000 // 2147483648
0b01111111100000000000000000000000 // 2139095040
0B00000000011111111111111111111111 // 8388607
å
«è¿å¶æ°å
å «è¿å¶æ°åè¯æ³æ¯ä»¥ 0 为å¼å¤´çãåå¦ 0 åé¢çæ°åä¸å¨ 0 å° 7 çèå´å ï¼è¯¥æ°åå°ä¼è¢«è½¬æ¢æåè¿å¶æ°åã
0O755 // 493
0o644 // 420
å¨ ECMAScript 5 ä¸¥æ ¼æ¨¡å¼ä¸ç¦æ¢ä½¿ç¨å
«è¿å¶è¯æ³ãå
«è¿å¶è¯æ³å¹¶ä¸æ¯ ECMAScript 5 è§èçä¸é¨åï¼ä½æ¯éè¿å¨å
«è¿å¶æ°åæ·»å ä¸ä¸ªåç¼ 0 å°±å¯ä»¥è¢«ææçæµè§å¨æ¯æï¼0644 === 420
èä¸ "\045" === "%"
ãå¨ ECMAScript 6 ä¸ä½¿ç¨å
«è¿å¶æ°åæ¯éè¦ç»ä¸ä¸ªæ°åæ·»å åç¼â0oâã
const n = 0755; // 493
const m = 0644; // 420
åå
è¿å¶
åå
è¿å¶æ°åè¯æ³æ¯ä»¥é¶ä¸ºå¼å¤´ï¼å颿¥ä¸ä¸ªå°åæå¤§åçæä¸æåæ¯ X(0x æè
æ¯ 0X
)ãåå¦0x
åé¢çæ°åè¶
åºè§å®èå´ (0123456789ABCDEF)ï¼é£ä¹å°±ä¼æç¤ºè¿æ ·çè¯æ³é误ï¼SyntaxError
ï¼ï¼âIdentifier starts immediately after numeric literalâã
0xFFFFFFFFFFFFFFFFF // 295147905179352830000
0x123456789ABCDEF // 81985529216486900
0XA // 10
ææ°å½¢å¼
0e-5 // 0
0e+5 // 0
5e1 // 50
175e-2 // 1.75
1e3 // 1000
1e-3 // 0.001
1E3 // 1000
æ°å对象
å
ç½®ç Number
对象æä¸äºæå
³æ°åç常é屿§ï¼å¦æå¤§å¼ã䏿¯ä¸ä¸ªæ°ååæ ç©·å¤§çãä½ ä¸è½æ¹åè¿äºå±æ§ï¼ä½å¯ä»¥æä¸è¾¹çæ¹å¼ä½¿ç¨å®ä»¬ï¼
const biggestNum = Number.MAX_VALUE;
const smallestNum = Number.MIN_VALUE;
const infiniteNum = Number.POSITIVE_INFINITY;
const negInfiniteNum = Number.NEGATIVE_INFINITY;
const notANum = Number.NaN;
ä½ æ°¸è¿åªç¨ä» Number 对象å¼ç¨ä¸è¾¹æ¾ç¤ºç屿§ï¼è䏿¯ä½ èªå·±å建ç Number 对象ç屿§ã
ä¸é¢çè¡¨æ ¼æ±æ»äºæ°å对象ç屿§ï¼
æ°åçç±»åæä¾äºä¸åæ ¼å¼çæ¹æ³ä»¥ä»æ°åå¯¹è±¡ä¸æ£ç´¢ä¿¡æ¯ã以ä¸è¡¨æ ¼æ»ç»äº æ°åç±»åååä¸çæ¹æ³ã
æ¹æ³ æè¿°toExponential()
è¿åä¸ä¸ªæ°åçææ°å½¢å¼çå符串ï¼å½¢å¦ï¼1.23e+2 toFixed()
è¿åæå®å°æ°ä½æ°ç表示形å¼ï¼var a=123,b=a.toFixed(2)//b="123.00" toPrecision()
è¿åä¸ä¸ªæå®ç²¾åº¦çæ°åãå¦ä¸ä¾åä¸ï¼a=123 ä¸ï¼3 ä¼ç±äºç²¾åº¦éå¶æ¶å¤± var a=123,b=a.toPrecision(2)//b="1.2e+2" æ°å¦å¯¹è±¡ï¼Mathï¼
对äºå
ç½®çMath
æ°å¦å¸¸é¡¹å彿°ä¹æä¸äºå±æ§åæ¹æ³ãæ¯æ¹è¯´ï¼ Math
对象ç PI
屿§ä¼æå±æ§å¼ pi (3.141...)ï¼ä½ å¯ä»¥åè¿æ ·è°ç¨å®ï¼
åçï¼æ åæ°å¦å½æ°ä¹æ¯ Math çæ¹æ³ãè¿äºå
æ¬ä¸è§å½æ°ã对æ°ãææ°ï¼åå
¶ä»å½æ°ãæ¯æ¹è¯´ä½ æ³ä½¿ç¨ä¸è§å½æ° sin
ï¼ä½ å¯ä»¥è¿ä¹åï¼
éè¦æ³¨æçæ¯ Math çææä¸è§å½æ°åæ°é½æ¯å¼§åº¦å¶ã
ä¸é¢çè¡¨æ ¼æ»ç»äº Math
å¯¹è±¡çæ¹æ³ã
Math çæ¹æ³
æ¹æ³ æè¿°abs()
ç»å¯¹å¼ sin()
, cos()
, tan()
æ åä¸è§å½æ°;åæ°ä¸ºå¼§åº¦ asin()
, acos()
, atan()
, atan2()
åä¸è§å½æ°; è¿åå¼ä¸ºå¼§åº¦ sinh()
, cosh()
, tanh()
åæ²ä¸è§å½æ°; åæ°ä¸ºå¼§åº¦ã asinh()
, acosh()
, atanh()
ååæ²ä¸è§å½æ°;è¿åå¼ä¸ºå¼§åº¦ã pow()
, exp()
, expm1()
, log10()
, log1p()
, log2()
ææ°ä¸å¯¹æ°å½æ° floor()
, ceil()
è¿åå°äºçäºåæ°çæå¤§æ´æ°ï¼è¿å大äºçäºåæ°çæå°æ´æ° min()
, max()
è¿åä¸ä¸ªä»¥éå·é´éçæ°ååæ°å表ä¸çè¾å°æè¾å¤§å¼ (åå«å°) random()
è¿å 0 å 1 ä¹é´çéæºæ°ã round()
, fround()
, trunc()
, åèäºå
¥åæªæå½æ° sqrt()
, cbrt()
, hypot()
å¹³æ¹æ ¹ï¼ç«æ¹æ ¹ï¼ææåæ°å¹³æ¹åçå¹³æ¹æ ¹ä¸¤ä¸ªåæ°å¹³æ¹åçå¹³æ¹æ ¹ sign()
æ°åç符å·ï¼è¯´ææ°åæ¯å¦ä¸ºæ£ãè´ãé¶ã clz32()
, imul()
å¨ 32 ä½ 2 è¿å¶è¡¨ç¤ºä¸ï¼å¼å¤´ç 0 çæ°éãè¿åä¼ å
¥çä¸¤ä¸ªåæ°ç¸ä¹ç»æçç±» C ç 32 ä½è¡¨ç°å½¢å¼
åå ¶ä»å¯¹è±¡ä¸åï¼ä½ ä¸è½å¤å建ä¸ä¸ªèªå·±ç Math 对象ãä½ åªè½ä½¿ç¨å ç½®ç Math 对象ã
æ¥æå¯¹è±¡JavaScript æ²¡ææ¥ææ°æ®ç±»åã使¯ä½ å¯ä»¥å¨ä½ çç¨åºéä½¿ç¨ Date
对象åå
¶æ¹æ³æ¥å¤çæ¥æåæ¶é´ãDate 对象æå¤§éç设置ãè·ååæä½æ¥æçæ¹æ³ãå®å¹¶ä¸å«æä»»ä½å±æ§ã
JavaScript å¤çæ¥ææ°æ®ç±»ä¼¼äº Javaãè¿ä¸¤ç§è¯è¨æè®¸å¤ä¸æ ·çå¤çæ¥æçæ¹æ³ï¼ä¹é½æ¯ä»¥ 1970 å¹´ 1 æ 1 æ¥ 00:00:00 以æ¥çæ¯«ç§æ°æ¥å¨åæ°æ®ç±»åçã
Date
对象çèå´æ¯ç¸å¯¹è·ç¦» UTC 1970 å¹´ 1 æ 1 æ¥ çåå 100,000,000 天ã
å建ä¸ä¸ªæ¥æå¯¹è±¡ï¼
var dateObjectName = new Date([parameters]);
è¿éç dateObjectName å¯¹è±¡æ¯æå建ç Date 对象çä¸ä¸ªååï¼å®å¯ä»¥æä¸ºä¸ä¸ªæ°ç对象æè å·²åå¨çå ¶ä»å¯¹è±¡çä¸ä¸ªå±æ§ã
ä¸ä½¿ç¨ new å ³é®åæ¥è°ç¨ Date 对象å°è¿åå½åæ¶é´åæ¥æçå符串
åè¾¹çè¯æ³ä¸çåæ°ï¼parametersï¼å¯ä»¥æ¯ä¸ä¸ä»»ä½ä¸ç§ï¼
today = new Date();
.var Xmas95 = new Date("December 25, 1995 13:30:00")ã
å¦æä½ çç¥æ¶ãåãç§ï¼é£ä¹ä»ä»¬çå¼å°è¢«è®¾ç½®ä¸º 0ãvar Xmas95 = new Date(1995, 11, 25)
ãvar Xmas95 = new Date(1995, 11, 25, 9, 30, 0);
.Date å¯¹è±¡çæ¹æ³
å¤çæ¥ææ¶é´ç Date å¯¹è±¡æ¹æ³å¯å为以ä¸å ç±»ï¼
éè¿âgetâåâsetâæ¹æ³ï¼ä½ å¯ä»¥åå«è®¾ç½®åè·åç§ï¼åï¼æ¶ï¼æ¥ï¼ææï¼æä»½ï¼å¹´ãè¿éæä¸ª getDay æ¹æ³å¯ä»¥è¿åææï¼ä½æ¯æ²¡æç¸åºç setDay æ¹æ³ç¨æ¥è®¾ç½®ææï¼å ä¸ºæææ¯èªå¨è®¾ç½®çãè¿äºæ¹æ³ç¨æ´æ°æ¥ä»£è¡¨ä»¥ä¸è¿äºå¼ï¼
ä¾å¦ï¼åè®¾ä½ å®ä¹äºå¦ä¸æ¥æï¼
var Xmas95 = new Date("December 25, 1995");
Then Xmas95.getMonth()
è¿å 11, and Xmas95.getFullYear()
è¿å 1995.
getTime
å setTime
æ¹æ³å¯¹äºæ¯è¾æ¥ææ¯é常æç¨çãgetTime
æ¹æ³è¿åä» 1970 å¹´ 1 æ 1 æ¥ 00:00:00 çæ¯«ç§æ°ã
ä¾å¦ï¼ä»¥ä¸ä»£ç å±ç¤ºäºä»å¹´å©ä¸ç天æ°ï¼
var today = new Date();
var endYear = new Date(1995, 11, 31, 23, 59, 59, 999); // 设置æ¥åæï¼æ³¨æï¼æä»½æ¯ 0-11
endYear.setFullYear(today.getFullYear()); // æå¹´è®¾ç½®ä¸ºä»å¹´
var msPerDay = 24 * 60 * 60 * 1000; // æ¯å¤©çæ¯«ç§æ°
var daysLeft = (endYear.getTime() - today.getTime()) / msPerDay;
var daysLeft = Math.round(daysLeft); //è¿åä»å¹´å©ä¸ç天æ°
è¿ä¸ªä¾åä¸ï¼å建äºä¸ä¸ªå
å«ä»å¤©çæ¥æçDate
对象ï¼å¹¶å½å为today
ï¼ç¶åå建äºä¸ä¸ªå为endYear
çDate
对象ï¼å¹¶æå¹´ä»½è®¾ç½®ä¸ºå½åå¹´ä»½ï¼æ¥ç使ç¨today
åendYear
çgetTime
åå«è·åä»å¤©åå¹´åºçæ¯«ç§æ°ï¼åæ ¹æ®æ¯ä¸å¤©çæ¯«ç§æ°ï¼è®¡ç®åºäºä»å¤©å°å¹´åºç天æ°ï¼æååèäºå
¥å¾å°ä»å¹´å©ä¸ç天æ°ã
parse æ¹æ³å¯¹äºä»æ¥æå符串èµå¼ç»ç°æç Date å¯¹è±¡å¾æç¨ï¼ä¾å¦ï¼ä»¥ä¸ä»£ç 使ç¨parse
åsetTime
åé
äºä¸ä¸ªæ¥æå¼ç»IPOdate
对象ï¼
var IPOdate = new Date();
IPOdate.setTime(Date.parse("Aug 9, 1995"));
示ä¾
å¨ä¸è¾¹çä¾åä¸ï¼JSClock() 彿°è¿åäºç¨æ°åæ¶éæ ¼å¼çæ¶é´ï¼
function JSClock() {
var time = new Date();
var hour = time.getHours();
var minute = time.getMinutes();
var second = time.getSeconds();
var temp = "" + (hour > 12 ? hour - 12 : hour);
if (hour == 0) temp = "12";
temp += (minute < 10 ? ":0" : ":") + minute;
temp += (second < 10 ? ":0" : ":") + second;
temp += hour >= 12 ? " P.M." : " A.M.";
return temp;
}
JSClock
彿°é¦å
å建äºä¸ä¸ªå«åtime
çæ°çDate
对象ï¼å 为没æåæ°ï¼æä»¥time
代表äºå½åæ¥æåæ¶é´ãç¶åè°ç¨äºgetHours
ï¼getMinutes
以ågetSeconds
æ¹æ³æå½åçæ¶åç§åå«èµå¼ç»äºhour
ï¼minute
ï¼second
ã
æ¥ä¸æ¥ç 4 å¥å¨time
çåºç¡ä¸å建äºä¸ä¸ªå符串ï¼ç¬¬ä¸å¥å建äºä¸ä¸ªåétemp
ï¼å¹¶éè¿ä¸ä¸ªæ¡ä»¶è¡¨è¾¾å¼è¿è¡äºèµå¼ï¼å¦æå°æ¶å¤§äº 12ï¼å°±ä¸º (hour - 12
)ï¼å
¶ä»æ
åµå°±ä¸ºhour
ï¼é¤éhour
为 0ï¼è¿ç§æ
åµä¸ï¼å®ä¼åæ 12ã
æ¥ä¸æ¥çè¯å¥æ¼æ¥äºminute
çå¼å°temp
åã妿minute
å°äº 10ï¼æ¡ä»¶è¡¨è¾¾å¼å°±ä¼å¨minute
åè¾¹å 个 0ï¼å
¶ä»æ
åµä¸å ä¸ä¸ªåå·ãç¶åæåæ ·çæ¹å¼å¨temp
åæ¼æ¥ä¸äºç§ã
æåï¼å¦æhour
æ¯ 12 æè
æ´å¤§ï¼æ¡ä»¶è¡¨è¾¾å¼ä¼å¨temp
åæ¼æ¥"P.M."ï¼å¦åæ¼æ¥"A.M."ã
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4