2

对于变量 x=5,我怎么知道它是数字 5 还是字符 '5'?

顺便说一句,在 JS 中,字符是否遵循 ASCII 表?然后我可以操作一个字符变量。例如,如果变量 x 是字符 a,我可以通过 x=x+1 使其变为字符 b 吗?

4

5 回答 5

2

要查看 x 是否是数字 5,而不是字符串“5”,您可以使用身份运算符:

if (x === 5) {
}

Identity 不会进行任何隐式转换;只有当两个操作数相等且没有任何转换时,它才会返回 true。


例如,如果变量 x 是字符 a,我可以通过 x=x+1 使其变为字符 b 吗?

No. x = x + 1将 1 转换为字符串,执行字符串连接并返回“a1”

于 2012-06-06T02:58:47.493 回答
2

您可以使用

typeof x;

它返回一个描述变量类型的字符串,例如numberstringobject

要获取字符的字符代码,请使用charCodeAt

var mystring = 'a';
mystring.charCodeAt(0);

要从增强字符代码中获取字符,请使用String.fromCharCode

var nextLetter = String.fromCharCode( mystring.charCodeAt(0) + 1 ); // returns "b"

这会从mystring.

于 2012-06-06T02:59:50.330 回答
1

只需获取变量的类型:

console.log(typeof '5'); // Returns 'string';
console.log(typeof 5);   // Returns 'number';

至于你的第二个问题,不,它不起作用:

console.log('b' + 1);    // Returns 'b1'
于 2012-06-06T02:58:19.757 回答
1

检查变量是否为数字:

if (typeof x == 'number')
    // x is a number

当 x = b 时执行 x = x + 1,将产生字符串 'a1';

于 2012-06-06T02:59:35.567 回答
0

如果您的 var x 不是整数,这是将其更改为整数的最佳方法。

将 x 更改为整数

x = parseInt(x);

您可以如何向 x 添加任何值,例如:

x = x + 2;

由于我们已将 x 更改为整数,我们现在可以确定这是否等于 5

if(x == 5){
 //Your Codes Here
}
于 2013-10-27T16:23:59.350 回答