它似乎不是抽象对象或对象文字。
我使用以下值从下划线测试了 isObject() :
var falsy = [
false,
'', "",
0, -0,
undefined, null,
NaN
],
// 6 truthy
truthy = [
true,
'hello',
-1, 1,
Infinity,
/test/
],
// 3 lengthy
lengthy = [
function () {
return undefined;
},
"string",
[0]
],
// 8 globals
globals = [
new String(),
new Number(),
new Boolean(),
new Array(),
new Object(),
new Function(),
new Date(),
new RegExp()
],
all = falsy.concat(truthy, lengthy, globals),
我都用过。
这是我从控制台返回的。
我发现最奇怪的是一个字符串没有被检测为一个对象,认为它显然不是基本/原始类型并且可以保存属性。
这似乎是isObject()
.
如果事实是这件事在做什么呢?