在原生不支持的旧环境中添加兼容的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实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
热门推荐
1 训练狗狗基础
2 怎么训练狗狗笑
3 怎么训练狗狗卧下
4 上海狗狗训练基地
5 训练狗狗排便
6 狗狗基础训练
8 如何训练狗狗装死
9 狗狗站姿训练
10 狗狗训练用品
11 训练狗狗吧
12 狗狗要怎么训练
13 怎么训练狗狗玩球
14 训练狗狗唤回
15 狗狗训练躺下
16 狗狗训练指令
17 狗狗的训练技巧
18 狗狗不好训练