Skip to content
陈广亮的技术博客
Go back

一个有趣的 for 循环用法

Object.keys 用来获取对象所有可枚举属性,兼容 IE8-:

Object.keys =
  Object.keys ||
  function (obj) {
    var a = [];
    for (a[a.length] in obj);
    return a;
  };

for (a[a.length] in obj) — 每次迭代时,将属性名赋给 a[a.length],自动追加到数组末尾。

另外,Object.getOwnPropertyNames(obj) 可获取所有实例属性(无论是否可枚举):

Array.test = function () {};
Object.keys(Array); // ["test"]
Object.getOwnPropertyNames(Array); // ["length", "name", ..., "test"]

Share this post on:

Previous Post
正则表达式:代码风格互转
Next Post
JS 性能优化:记忆(memoization)