类型运算符和实例运算符为同一 var 返回不同的信息
typeof and instanceof operators returns different information for the same var
观察以下JavaScript代码行:
<!DOCTYPE html>
<html>
<head>
<title>typeof vs instanceof</title>
</head>
<body>
<script type="text/javascript">
var myString = "MyString";
alert( typeof myString );
alert( myString instanceof String );
</script>
</body>
</html>
第一个警报说string
(小写),而第二个警报说false
...
为什么?
您混淆了原始类型string
和作为String
实例的对象的类型对象。他们是不同的。
var s = "a"; // a string, typeof is "string"
var s = new String("a"); // an instance of String, typeof is "object"
相关文章:
- 如果在构造函数中有“返回”,则在 JavaScript 中的新运算符中做了什么
- 使用!而in运算符在应该为true时返回false,为什么
- 为什么'+='运算符返回未定义
- js:三元运算符中的多重返回
- Javascript ||运算符仍返回 NaN
- 运算符的 JavaScript 实例在应该为 false 时返回 true
- 类型运算符和实例运算符为同一 var 返回不同的信息
- 带有返回语句 JavaScript 的三元运算符
- 大于运算符 jquery 不返回 true
- 如果未使用新运算符,则返回新对象
- 字符串值函数上的 Javascript typeof 运算符返回“函数”而不是“字符串”
- 为什么删除运算符返回 true,即使属性未从对象中删除
- 增量后运算符返回NaN的原因
- Javascript'在'循环内部的运算符返回类型错误
- 函数“;链接“;与&&运算符返回undefined
- 为什么JavaScript&&运算符返回第二个表达式
- 自增运算符返回NaN
- 返回逻辑运算符(&&)返回,||返回)
- 为什么赋值运算符返回非布尔值
- 为什么使用& 0"使用三元运算符返回第一个值