上次在项目中遇到关于Object.keys()方法,在网上查阅相关资料后大体做了一个的用法总结如下:
1.传入对象,返回对象的key值
var obj = new Object();
obj = {a:1,b:2};
console.log(Object.keys(obj)) //['a','b']
2.传入字符串,返回索引
var str = new String();
str = 'abc123';
console.log(Object.keys(str)); //['0','1','2','3','4','5']
3.构造函数 返回空数组或属性名
function Basic(name,age,address){
this.name = name;
this.age = age;
this.address = address;
this.info = function(){
return (this.name + '/' + this.age + '/' + this.address);
}
};
console.log(Object.keys(Basic)); //[]
var lily = new Basic('lily',22,'wuhan');
console.log(Object.keys(lily)); //['name','age','address','info']
4.数组 返回索引值
var arr = new Array();
arr = ['x','y','z'];
console.log(Object.keys(arr));//['0','1','2']
从上面可以看出,Object.keys()的返回值是数组,但是操作的对象却不尽相同,小小的记录下。