前几天我遇到了这个问题,无法弄清楚引擎盖下到底发生了什么.将String强制转换为Number类型的规则是什么?为什么它在'5.0.1'的例子中失败了?
var numStr = '5.0';
var floatStr = '5.0.1';
//Passes
if (numStr >= 4) {
alert('5 > 4');
}
//Fails
if (floatStr >= 4) {
alert('5.0.1 > 4');
}
console.log(parseInt(numStr)); //5
console.log(parseInt(floatStr)); //5
console.log(Number(numStr)); //5
console.log(Number(floatStr)); //NaN
Run Code Online (Sandbox Code Playgroud) 我有两个看似相同的值的字符串.一个存储为数组中的键,另一个存储在另一个不同的数组中.我使用==,===和strcmp比较两者.所有都将它们视为不同的字符串 我做了一个var_dump,这就是我得到的.
string(17) "Valentine’s Day"
string(15) "Valentine's Day"
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么第一个字符串是17个字符,第二个字符串是15个?
更新:当我从我的编辑器中粘贴它时,这稍微明显一点,它的字体使两个不同的撇号几乎无法区分.
我一直在搜索YUI3的文档,但我似乎无法弄清楚如何创建文档片段.我应该只使用文档对象吗?我想将其视为YUI Node对象.