如題
不想用jquery的getOwnPropertyNames
var getProperty = function(obj) {
var nArr = [];
for (var i in obj) {
nArr.push[i];
}
console.log(nArr);
return nArr;
}
getProperty({a:1,b:2})
最後回傳的結果是[];
如果換成
var getProperty = function(obj) {
var nArr = [],
k = 0;
for (var i in obj) {
nArr[k] = i;
k++;
}
console.log(nArr);
return nArr;
}
getProperty({a:1,b:2});
則可以回傳正確的結果['a','b'],為何
nArr.push(i)
括號打錯! ! ! !
JS 的 for in 存在 hasOwnProperty 的坑。
你想要回傳
['a', 'b']
,只要:即可(支援 IE9+)。
nArr.push[i];這個你確定運行不會報錯?