网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

在原生不支持的旧环境中添加兼容的Object.keys实现方法

如下所示:

成都创新互联主要从事成都网站建设、网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务庆城,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220

if (!Object.keys) {
 Object.keys = (function () {
  var hasOwnProperty = Object.prototype.hasOwnProperty, //原型上的方法,只取自身有的属性;
    hasDontEnumBug = !({toString: null}).propertyIsEnumerable('toString'), //ie6一下,!之后的内容为false;
    dontEnums = [
     'toString',
     'toLocaleString',
     'valueOf',
     'hasOwnProperty',
     'isPrototypeOf',
     'propertyIsEnumerable',
     'constructor'
    ],
    dontEnumsLength = dontEnums.length;

  return function (obj) {
   if (typeof obj !== 'object' && typeof obj !== 'function' || obj === null) throw new TypeError('Object.keys called on non-object');

   var result = [];

   for (var prop in obj) {
    if (hasOwnProperty.call(obj, prop)) result.push(prop);
   }

   if (hasDontEnumBug) {
    for (var i=0; i < dontEnumsLength; i++) {
     if (hasOwnProperty.call(obj, dontEnums[i])) result.push(dontEnums[i]);
    }
   }
   return result;
  }
 })()
};

以上这篇在原生不支持的旧环境中添加兼容的Object.keys实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持创新互联。


本文题目:在原生不支持的旧环境中添加兼容的Object.keys实现方法
路径分享:http://bjjierui.cn/article/gcgiij.html

其他资讯