js 低版本浏览器内核、IE实现Object.assign

低版本浏览器内核、IE实现Object.assign

if (typeof Object.assign != 'function') {
        Object.assign = function(target) {
            'use strict';
            if (target == null) {
                throw new TypeError('Cannot convert undefined or null to object');
            }
            target = Object(target);
            for (var index = 1; index < arguments.length; index++) {
                var source = arguments[index];
                if (source != null) {
                    for (var key in source) {
                        if (Object.prototype.hasOwnProperty.call(source, key)) {
                            target[key] = source[key];
                        }
                    }
                }
            }
            return target;
        };
        /*获取界面的js并重新执行 eval()*/
        var s_code = document.getElementsByTagName('script'),code_index=0;
        for (var i = 0, len = s_code.length; i < len; i++) {
            if (s_code[i] && s_code[i].innerHTML.indexOf("Object.assign") != '-1') {
                code_index = i;
            }
        }
        if(code_index){eval(s_code[code_index].innerHTML); }
}

猜你喜欢

转载自blog.csdn.net/lctmei/article/details/86526112