在实际开发中可能会遇到需要获取对象的所有属性,这时你可能会自己来遍历一遍获取,其实原生js已经为我们提供了一个方法,他就是Object.keys()
,它返回一个数组,就可以结合forEach
方法遍历对象。
1.对象
// 1.对象var a = { a : 123, b : 'asd', c : function() { console.log( 'haha' ); }};console.log( Object.keys( a ) ); // [ 'a', 'b', 'c' ]
2.数组
// 2.数组var b = [ 123, 21, 31 ];console.log( Object.keys( b ) ); // [ '0', '1', '2' ]
3.构造函数
// 3.构造函数function c() { this.aa = 123; this.bb = 'asdas'; this.cc = function() { }}console.log( Object.keys( c ) ); // []
4.实例化对象
// 4.实例化对象var d = new c();console.log( Object.keys( d ) ); // [ 'aa', 'bb', 'cc' ]
5.字符串
// 5.字符串var e = 'sdf123';console.log( Object.keys( e ) ); // [ '0', '1', '2', '3', '4', '5' ]