IE浏览器兼容Object.assign踩过的坑

IE浏览器兼容Object.assign踩过的坑

1、背景:

使用Object.assign,又在IE浏览器上访问时,会报该方法不存在~

ERROR:对象不支持“assign”属性或方法

错误说IE上Object对象上不存在assign方法,查一下兼容性

2、解决方案:

在JavaScript初始化时添加以下方法:

网址: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/assign

js代码:

if (typeof Object.assign !== 'function') {
  // Must be writable: true, enumerable: false, configurable: true
  Object.defineProperty(Object, "assign", {
    value: function assign(target, varArgs) { // .length of function is 2
      'use strict';
      if (target === null || target === undefined) {
        throw new TypeError('Cannot convert undefined or null to object');
      }

      var to = Object(target);

      for (var index = 1; index < arguments.length; index++) {
        var nextSource = arguments[index];

        if (nextSource !== null && nextSource !== undefined) {
          for (var nextKey in nextSource) {
            // Avoid bugs when hasOwnProperty is shadowed
            if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {
              to[nextKey] = nextSource[nextKey];
            }
          }
        }
      }
      return to;
    },
    writable: true,
    configurable: true
  });
}




觉得可以,记得右上角点赞哦!如有不正确的地方,欢迎各位大神指教!

【The End】







附言:

[抽空为大家整理了一些文章]

常用的JS原生方法

【表格】html大于号转义符&amp;gt;—小于号转义符&amp;lt;

微信开发者工具提交代码到gitee?

使用layui的一些常用扩展代码

div+CSS实现段落首行缩进两个字符(text-indent标签)

鼠标mouse事件冒泡处理:onmouseover 、onmouseout 与onmouseenter 、onmouseleave的区别

Mysql启动错误:“InnoDB: Error: unable to create temporary file”的解决方法

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值