在原生不支持的旧环境中添加兼容的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实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
热门推荐
3 祝福语简短的微信
10 幼儿祝福语大全简短贺卡
11 感谢教官文案祝福语简短
12 鼠年同事祝福语简短创意
13 元旦祝福语 简短独特群发
14 妈咪跟我生日祝福语简短
15 给儿子新婚祝福语简短
16 伴娘祝福语长文案简短
17 恭喜高考完祝福语简短
18 生日祝福语送老公简短