数值的 JavaScript 数据类型


var id = id++;
console.log(id);

我只是想知道为什么这不起作用?我把它放在一个函数中,我希望它从 2 开始,然后递增 1 1。但是在控制台中,我看到的是NaN。为什么?

除非你初始化一个变量(=给它分配一些值(,否则它的值是undefined的,undefined++不是数字(NaN(。

idundefinedundefined++是NaN。

您正在使用以前未定义的变量,因此 NaN 是答案。

您没有为id分配任何值。

您需要初始化它。

尝试:

var id = 1;
id++;
console.log(id);

你不是说吗?

var id = 1;
id++;
console.log(id);

不能递增尚未定义的内容。所以未定义的++是NaN。

问题是你没有为"id"变量分配一个值,所以首先你需要声明和初始化一个变量,然后你可以操纵它的值。

var id;//declare
id = 1;初始化;
id += 1 或 id++//操作它(用 1 递增值(;

或更短:

var id = 1;
id++;