在原生不支持的旧环境中添加兼容的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实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
热门推荐
10 恭喜朋友买车祝福语简短
11 团队文案祝福语简短励志
12 足球队祝福语简短
13 表达朋友的祝福语简短
14 聚餐会祝福语简短
15 新年简短的祝福语爱情
16 红颜生日祝福语简短独特
17 祝福语怎么写大全简短
18 入学祝福语简短走心