var arr = [];
var obj = {};
var str = '123';
console.log(
Array.prototype.isPrototypeOf(arr),
Array.prototype.isPrototypeOf(obj)
)
console.log(
Object.getPrototypeOf(arr) == Array.prototype,
Object.getPrototypeOf(obj) === Array.prototype
)
console.log(
arr.constructor == Array,
obj.constructor == Array
)
console.log(
arr instanceof Array,
obj instanceof Array
)
var arr1 = [],
obj2 = {};
obj2.__proto__ = arr1;
console.log(obj2 instanceof Array)
console.log(
Object.prototype.toString.call(obj) == '[object Array]',
Object.prototype.toString.call(arr) == '[object Array]',
Object.prototype.toString.call(obj2) == '[object Array]'
)
console.log(
Array.isArray(arr),
Array.isArray(obj2),
Array.isArray(obj)
)
console.log(Object.prototype.toString.call(undefined))