有人可以告诉我这是否是在JavaScript中进行typeOf检查的正确方法?
if ((typeof str === "string") && (str.toLowerCase() == "true")) return true;
我觉得字符串需要在引号中有点奇怪我以为它会是 String 而没有任何引号。我确定我在某个地方读到有这样一种正确和错误的方法。 谢谢。
答案 0 :(得分:0)
根据Developper Mozilla developper network,您可以使用简单的引号来定义您要查找的类型。
它还列出了实现你所谈论的好方法和坏方法:
// Strings
typeof "" === 'string';
typeof "bla" === 'string';
typeof (typeof 1) === 'string'; // typeof always return a string
typeof String("abc") === 'string'; // but never use this form!
答案 1 :(得分:0)
这解释了使用" typeof": http://www.javascriptkit.com/javatutors/determinevar2.shtml 我认为你将它与Java中的instanceof混淆,你将我将它与String类匹配。
答案 2 :(得分:0)
如果要在if语句中使用String
,可以使用构造函数。它会是这样的:
if ((str.constructor == String)) ...
但使用typeof str === "string"
也是正确的。
答案 3 :(得分:0)
“typeof”函数返回一个字符串,这就是你需要将结果检查为字符串(带引号)的原因。但是,您可以简单地将整个条件写为:
return ((typeof str === "string") && (str.toLowerCase() == "true"));