在项目中突然用到这块了,就把这块的知识整理了下来,以方便后期的学习和使用
在开发中,有时候我们需要知道对象的所有属性,原生js给我们提供了一个很好的方法:Object.keys(),使用该方法将会返回一个数组。
1.当传入对象时,返回的是属性名,如:
var obj = {'a':'1','b':'2','c':'3'};
console.log(Object.keys(obj)); //['a','b','c']
2.当传入字符串或数组时将会返回索引,如:
//字符串时
var str = 'abcdef';
console.log(Object.keys(obj)); //[0,1,2,3,4,5]
//数组时
var arr = ["a", "b", "c"];
console.log(Object.keys(arr)); // console: ["0", "1", "2"]
3.当为构造函数时,会返回空数组或者属性名,如:
function man(name, age, gender) {
this.name = name;
this.age = age;
this.gender = gender;
this.toCome = function () {
return (this.name + ", " + this.age + ", " + this.gender);
}
}
console.log(Object.keys(man)); //console: []
//或
var spaghetti = new man("Tom", 20, "male");
console.log(Object.keys(spaghetti)); //console: ["name", "age", "gender", "toCome"]
走别人不曾走过的路,才能看到别人不曾看到的风景。