1JavaScript 中 null 和 undefined 的意义是什么?

在JavaScript中,null 和 undefined 都表示无值(no value)的含义,但是它们在具体使用中有一些不同之处:

  1. undefined 表示未定义,即声明了但未赋值的变量的默认值,或者访问对象不存在的属性时返回的值。例如:const x; console.log(x); 输出 undefined
  2. null 表示空值,即一个变量被明确地赋值为空。例如:const x = null; console.log(x); 输出null

虽然它们都表示无值,但在某些情况下,它们是不等价的。例如,使用双等号(==)比较时,null 和 undefined 会被视为相等的值,但在使用严格相等运算符(===)比较时,它们是不相等的。同时,在使用 typeof 运算符时,null 会被视为一个对象,而 undefined 会被视为未定义的变量。

总结大概如下:

  • null 是一个赋值。这没有任何意义。
  • undefined 表示变量已声明但尚未定义。
  • null是一个对象。undefined 是类型 undefined
  • null !== undefined 但是 null == undefined
2["1","2","3"].map(parseInt)返回值是多少?

返回值是:[1,NaN,NaN]

parseIntmap函数都是常用的函数,可是 ["1", "2", "3"].map(parseInt) 为何返回不是[1,2,3]却是[1,NaN,NaN]

下面我们先来了解一下parseInt函数的使用方法。

parseInt() 函数

parseInt() 函数解析一个字符串参数,并返回一个指定基数的整数 (数学系统的基础)。

语法

parseInt(string, radix)

参数 描述
string 必需。要被解析的字符串。
radix

可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。

如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。

如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN

返回值

返回解析后的数字。

说明

当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。

一下情况返回值为NaN

  • radix 小于 2 或大于 36
  • 第一个非空格字符不能转换为数字。