1 回答
TA贡献1946条经验 获得超4个赞
你好,Node.js归根到底还是JS,在JS中所有的变量都是对象,我们可以通过typeof方法得到一些简单数据类型变量的具体类型,比如:
1 2 3 4 | var str = 'abc', num = 123; console.log(typeof abc); // string console.log(num); // number |
但是对于一些复杂对象,我们再使用typeof只能得到object,比如:
1 2 3 4 | var obj = {}, arr = []; console.log(typeof obj); // object console.log(typeof arr); // object |
如果要得到这类复杂类型的具体类型,可以使用下面这个方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 | function isObject(obj){ return Object.prototype.toString.call(obj) === '[object Object]'; }
function isArray(arr) { return Object.prototype.toString.call(arr) === '[object Array]'; }
// Test var obj = {}, arr = []; console.log(isObject(obj)); // true console.log(isArray(arr)); // true |
另外,ES5之后给Array对象增加了isArray方法,你也可以酌情使用:
1 2 | var arr = []; Array.isArray(arr); // true |
好了,最后附一张图,说明一切~~
- 1 回答
- 0 关注
- 1322 浏览
添加回答
举报