在原生不支持的旧环境中添加兼容的Object.keys实现方法
如下所示:
if(!Object.keys){ Object.keys=(function(){ varhasOwnProperty=Object.prototype.hasOwnProperty,//原型上的方法,只取自身有的属性; hasDontEnumBug=!({toString:null}).propertyIsEnumerable('toString'),//ie6一下,!之后的内容为false; dontEnums=[ 'toString', 'toLocaleString', 'valueOf', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'constructor' ], dontEnumsLength=dontEnums.length; returnfunction(obj){ if(typeofobj!=='object'&&typeofobj!=='function'||obj===null)thrownewTypeError('Object.keyscalledonnon-object'); varresult=[]; for(varpropinobj){ if(hasOwnProperty.call(obj,prop))result.push(prop); } if(hasDontEnumBug){ for(vari=0;i以上这篇在原生不支持的旧环境中添加兼容的Object.keys实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。