Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!

How JavaScript Works PDF 下载


分享到:
时间:2023-12-21 10:10来源:http://www.java1234.com 作者:转载  侵权举报
How JavaScript Works
失效链接处理
How JavaScript Works PDF 下载



 
 
相关截图:
 


主要内容:


Number (not number, the initial uppercase is significant) is a function that can make
numbers. Numbers in JavaScript are immutable objects. The typeof operator returns
"number" (the initial lowercase is significant) when given a number. You should
never use the new prefix with the Number function. It does not do what you might think
it should do.
const goocLexample Number("432");
const bacLexample new Number("432");
typeof goocLexample
// "number"
typeof bacLexample
// "object"
goocLexample === bacLexample
//false
Number is also container of some constants. These constants can provide insight into
the workings of numbers.
Number.EPSILON is exactly 2.220446049250313080847263336181640625e-16. It is the
smallest positive number that, when added to 1, produces a sum that is larger than
1. Adding any positive number that is less than Number.EPSILON to produces sum
that is exactly 1. It should seem absurd that adding a number that is not to yields
1. This is not due to bug or design error in JavaScript. All fixed size floating point
systems have such weirdness, including IEEE 754. It is reasonable tradeoff.
Number.MAX_SAFE_INTEGER is exactly 9007199254740991, or about quadrillion in the
modern illion idiom. JavaScript does not have or need an integer type because its
number type can exactly represent all of the integers up to Number.MAX_SAFE_INTEGER.
JavaScript has 54 bit signed integers within its number type.2.3
How Numbers Work
Adding to an integer that is larger than NumberMAX_SAFE_INTEGER has the same effect
as adding to that large number. JavaScript is capable of exact integer arithmetic
so long as all of the values and results and intermediate results are integers that lie
between -Number.MAX_SAFE_INTEGER and Number.MAX_SAFE_INTEGER. Within that range,
conventional mathematical reasoning can hold. The Associative Law and Distributed
Law are in effect. Outside of that range, things are more chaotic. For example, the
order in which you add a sequence of numbers can change the sum. So, ((0.1
0.2) 0.3) produces a larger result than (0.1 (0.2 0.3)). Number
isSafe!nteger(num&er) returns true if the number is in the safe range.
Number. islnteger(num&er) returns true if the number is an integer in the safe range
or ifit is above the safe range. All numbers greater than Number. MAX_SAFE_INTEGER are
considered to be integers. Some of them are exactly correct. Most of them are not.
Number.MAX_VALUE contains the largest number that JavaScript can represent. It is
exactly Number.MAX_SAFE_INTEGER ** 971 or
17976931348623157081452742373170435679807056752584499659891747680315726078002853
87605895586327668781715404589535143824642343213268894641827684675467035375169860
49910576551282076245490090389328944075868508455133942304583236903222948165808559
332123348274797826204144723168738177180919299881250404026184124858368
which is followed by 308 digits. Most of that is phantom significance. These numbers
can provide 15.9 digits of significance. The trailing 292 digits are an illusion caused
by base beating against base 10.
Adding any positive safe integer to Number.MAX_VALUE produces a sum that is also
Number.MAX_VALUE. It is likely that if program produces result that is Number
.MAX_VALUE then the program is in error. Any result that exceeds Number
.MAX_SAFE_INTEGER is suspect. The IEEE 754 standard promises the potential of
enormous range, but without extraordinary care, it is more likely to lead to mistakes.
Number.MIN.VALUE is the smallest number that can be represented that is larger than
zero. It is exactly equal to ** -1074 or
4.940656458412465441765687928682213723650598026143247644255856825006755072702087
51865299836361635992379796564695445717730926656710355939796398774796010781878126
30071319031140452784581716784898210368871863605699873072305000638740915356498438
73124733972731696151400317153853980741262385655911710266585566867681870395603106
24931945271591492455329305456544401127480129709999541931989409080416563324524757
14786901472678015935523861155013480352649347201937902681071074917033322268447533
35720832431936092382893458368060106011506169809753078342277318329247904982524730
77637592724787465608477820373446969953364701797267771758512566055119913150489110
14510378627381672509558373897335989936648099411642057026370902792427675445652290
87538682506419718265533447265625e-324
All positive numbers that are smaller than Number.MIN.VALUE are indistinguishable
from zero. Note that the significand of Number.MIN.VALUE contains only single bit in
the least significant position. That lonely bit produces a lot of phantom significance.
Number.prototype is an object that all numbers inherit from. Number.prototype
contains a set of methods. Unfortunately, it is not very useful set of methods.


 
 
------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐