1JavaScript 中 null 和 undefined 的意义是什么?
在JavaScript中,null
和 undefined
都表示无值(no value)的含义,但是它们在具体使用中有一些不同之处:
undefined
表示未定义,即声明了但未赋值的变量的默认值,或者访问对象不存在的属性时返回的值。例如:const x; console.log(x);
输出undefined
。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]
parseInt
与map
函数都是常用的函数,可是 ["1", "2", "3"].map(parseInt)
为何返回不是[1,2,3]
却是[1,NaN,NaN]
?
下面我们先来了解一下parseInt函数的使用方法。
parseInt() 函数
parseInt()
函数解析一个字符串参数,并返回一个指定基数的整数 (数学系统的基础)。
语法
parseInt(string, radix)
参数 | 描述 |
---|---|
string | 必需。要被解析的字符串。 |
radix |
可选。表示要解析的数字的基数。该值介于 如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。
|
返回值
返回解析后的数字。
说明
当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。
一下情况返回值为NaN
radix
小于2
或大于36
- 第一个非空格字符不能转换为数字。