We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
如何判断是否是数组?
The text was updated successfully, but these errors were encountered:
js中检测数据类型的一种方式,可轻松检测出常用类型,例如,String,Number,Boolean,Function,Undefind,但在对象和数组之间它分不清除。
let a=[]; let b={}; console.log(typeof(a)); //object console.log(typeof(b));//object console.log(typeof(null));//object
instanceof操作符用于测试一个对象在其原型链中是否存一个构造函数的prototype属性。
eg. Object instanceof constructor
object:要检测的对象 constructor:某个构造函数
console.log({} instanceof Array); // fasle console.log([] instanceof Array); // true console.log({} instanceof Object); // true console.log([] instanceof Object); // true
Array、Function的原型都是Object
如果是数组,那么arr.constructor === Array(不准确,因为我们可以指定obj.constructor = Array)
let a = 1; console.log(a.constructor === Array); // false a.constructor = Array; console.log(a.constructor === Array); // true
如果值是[object Array],说明是数组
console.log(Object.prototype.toString.call([])); // [object Array] console.log(Object.prototype.toString.call({})); // [object Object]
console.log(Array.prototype.isPrototypeOf([])); // true console.log(Array.prototype.isPrototypeOf({})); // false console.log(Object.prototype.isPrototypeOf([])); // true console.log(Object.prototype.isPrototypeOf({})); // true
let a = []; Array.isArray(); // true
能判断数组的方法有:Object instanceof constructor,Object.prototype.toString.call, Array.prototype.isPrototypeOf,Array.isArray()
能区分数组和对象的方法 Object.prototype.toString.call,Array.isArray()
Sorry, something went wrong.
No branches or pull requests
如何判断是否是数组?
The text was updated successfully, but these errors were encountered: