Js-值(null,undefined)-4

1:原始值与对象最大的区别是如何比较的,每个对象有唯一的标识符并且只和自己相等。相反,所有的原始值只要编码相同,就认为是相等。

2:如果函数中没有任何显示的返回值得话,那么会隐式的返回undefined.

3:undefined更多的时候表示的是不存在的元素,比如未初始的变化量,缺失的参数,访问一个不存在的属性。函数中没有任何显示的返回值。

4:检测undefined.if(x===undefined) {}还可以用typeof 不过一般推荐是第一个方法。

5:null:他的意思是没有对象。常用来表示空值。undefiend表示删除一个对象属性或是数组元素。null表示将属性或者元素设置为空。

6:null:由于Js采用了java中的将变量分为原始值和对象的处理方式。同时也使用java中表示“非对象”的值null.遵循java的例子,当对null强制转换的时候,会出现0.

8:为了弥补上面null的缺点引入了undefiend,那就是这个值没有指向性,这个值强制转换不回变成0。

7:防止改变undefiend:if(x===void){}

9:null出现:当正则匹配不到,或者是对象间没有原型关系的时候。

10: typeof能检测原始值和对象,并检测出原始值得类型。

11:instanceof 用来检测一个对象是否是特定构造函数的一个实例。

12:typeof null=object   null instanceof  object().false.

13:NaN 他的类型居然是number 出现的原因:number()中不能被解析的数字。失败的操作Math.log(-1) 其中一个数是NaN的计算。

14:检查一个值是否是NaN  function(value) {retrun value!==value;还有个原生函数:isNaN();

为什么IsNaN()不能检测非数字。。。他的原理是这样的:先把这些值转为数字,然后转换可能变成NaN,所以返回错误的结果。最好就是检测值的类型,并且使用IsNaN()函数。

15:infinity:是一个错误值,一是表示一个大到无法表示的数,一是表示一个数除了0.infinity比任何数字都大。-infinity比任何值都小。

16:全局函数isFinite();检测一个数字是不是实际的值。既不是NAN也不是infinity.

17:由于js中所有的数字和符号是分开存储的,所以每一个非负数都由一个负值,包括0.有符号的0可以知道数字是从哪方面接近0的。

18:js数字是64位的,也叫做双精度。通常是按照十进制引入的,但是在内部时他们其实是二进制的浮点数表示的。在处理舍入错误的时候,通常推荐的是不直接比较非整数,取而代之,将边界错误的上界考虑进来。这个上界叫机器精度。把他变大来比较细微的差别。

19:整型数字的范围问题:安全整型:+-Math.pow(2,53)  数组索引:【0,Math.pow(2,32)-1】通常情况下,和不超过53位的整型数字打交道是没问题的,一旦遇到这些超过的,他们必须要以字符串的形式存储起来,一旦要对他们进行运算,要特殊的库来实现。

20:安全的整型:js只能安全的表示上述所说的范围内的数,一旦超过这个范围内的整型。,那么久和一般的实数集可能不会发生一一对应的关系了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 什么是 JavaScript 语言? JavaScript 是一种轻量级的脚本语言。所谓“脚本语言”(script...
    oWSQo阅读 1,918评论 0 1
  • 本章内容 语法 数据类型 流控制语句 理解函数 3.1 语法 3.1.1 区分大小写 区分大小写 3.1.2 标识...
    闷油瓶小张阅读 798评论 0 0
  • 有人说过,很多弯路到最后都成了直路,所有的坑到最后也都成了坦途;所谓的直路和坦途并不是摆在眼前的,都是不断的的...
    老衲法号一眉道人阅读 1,460评论 0 4
  • 我跟一个女生坐同桌坐了两年,我们从普通同学变成闺蜜也用了两年。然而两个朋友坐同桌是中国式教育所不允许的,而...
    羽汐阅读 196评论 0 2
  • 文|域往 提起《红楼梦》,不得不提薛宝钗和史湘云两人。前者为贾宝玉最终的妻子,对宝玉的爱也是从一而终;后者跟宝玉的...
    域往阅读 426评论 0 8

友情链接更多精彩内容