我从返回true
的表达式开始(我选择1==1
)并在控制台中编写
cosole.log(1==1);
它记录< code>true。现在我想将它转换成整数(< code>1)并将其包装在< code>parseInt()中
console.log(parseInt(1==1));
它记录 NaN
。看起来它正在尝试在将其转换为数字之前将 1==1
转换为字符串。然后我简单地将 1==1
乘以 1。
console.log((1==1)*1);
它记录1
。
为什么在第一种情况下,它会将true
转换为字符串,然后再将其转换为整数(结果是NaN
),而我想将其转换成字符串,而在第二种情况下它会将true
直接转换为整数?我希望true*1
也将是NaN
。
parseInt(bool) == NaN
parseInt(bool*1) == parseInt(int) == int
我相信Javascript在相乘时会使true=1
和false=0
。
编辑:为了进一步实现这一点,parseInt(bool*bool)
也可以工作
< code>parseInt作为一个“解析”r,应该接受一个字符串并生成一个整数,因此它将其参数转换为一个字符串。< code>*,因为它是乘法,所以将其参数转换为数字。
如果要将任何内容转换为(32位)整数,|0
有效;这是一个32位按位整数操作,不能导致NaN
,因为那不是32位整数。
只是为了强调parseInt
是一种完全不合适的将字符串以外的任何东西转换为整数的方式:这给了你什么?
parseInt(5000000000000000000000000)
(对于较大的数字,请使用Math.round(x)
或Math。round(x)
(如果您希望显式)
JavaScript代码: PHP代码 当我向服务器发布复杂的数据结构时,最外层的数组变成了字符串。例如,JavaScript对象可以是 使用JSON.stringify(数据),这将成为 但是在做了json_decode($_POST['data'],TRUE)之后 这到底是怎么回事?为什么数组被转换为字符串?要查看完整的JSON对象和完整的PHP对象,请查看这个包含这两个对象的pastebin
问题内容: 所以这工作: 但这不是: 总而言之,我得到了第一部分(拳击),但是我发现第二部分不起作用是非常不直观的。是否有特定的原因(除了String从Object继承而int不从Object继承)? 编辑: 为了完善我的问题,这也可以: 但是,以下内容却没有: 令人惊讶的是,您遇到了与String相同的问题: 在最后一行产生类强制转换异常。仍然有效: 问题答案: 我刚刚找到了我正在寻找自己的答案
我正试图通过对象运行字符串列表。当我单独做的时候,它会工作,但是当我把它作为一个字符串传递时,它就不工作了。我该如何解决这个问题? 是什么导致第一个示例不起作用?变量数据是否将其视为faq。“IntegrationItem1”而不是faq.IntegrationItem1?
就这么简单。谢谢你
我认为的意思是不能大于8位的容量。0B1111_1111是8位。
如果我有一个