我对这种静态方法感到困惑。当使用17个字符代码(控制键)时,我找不到将它与任何东西进行比较的方法。
Chrome控制台:
它看起来像一个普通的空字符串。
mdn说
此方法返回字符串而不是String对象。
所以我在想那个
String.fromCharCode(17) === ""
将返回true。但它返回false。
为什么呢?
typeof(String.fromCharCode(17))
返回“string”String.fromCharCode(17) === null
返回false String.fromCharCode(17) === undefined
返回false String.fromCharCode(17) === new String()
并且它也返回了假... 我不明白......
答案 0 :(得分:2)
因此我认为
String.fromCharCode(17) === ""
会返回true
。但它返回false
。为什么呢?
String.fromCharCode(17)
返回设备控件1 ,这似乎是一个不可打印的字符。它失败的原因是因为不是一个空字符串。
String.fromCharCode(17) === String.fromCharCode(17)
会返回true
。
答案 1 :(得分:2)
当我尝试显示""
(非打印字符)时,它不是空字符串。请参见下图以获取证明:
这就是String.fromCharCode(17) === ""
返回false的原因。
答案 2 :(得分:2)
答案 3 :(得分:1)
String.fromCharCode()方法返回使用指定的Unicode值序列创建的字符串。 KeyChar 17实际上代表键盘的CTR键。所以当你写作时
String.fromCharCode(17) ,
它实际上表示无法表示为一个16位数字的字符。因此,它不是空字符串,因为它需要多个16位数字unicode值才能显示。