mozilla
您的搜索结果

    Object.setPrototypeOf()

    这篇翻译不完整。请帮忙从英语翻译这篇文章

    该特性处于 ECMAScript 6 规范草案中,目前的实现在未来可能会发生微调,请谨慎使用。

    概述

    设置一个对象的原型(既对象的[[Prototype]]内部属性).

    语法

    Object.setPrototypeOf(object, prototype)

    参数

    object
    将被设置原型的对象.
    prototype
    该对象新的原型(可以是一个对象或者null).

    描述

    如果prototype参数指定的值不是一个对象值或者null(也就是数字,字符串,布尔值以及undefined这其中的一种),就会抛出TypeError异常.

    附注

    Object.setPrototypeOf()被添加到了最新的ECMAScript 6规范草案中.旧的object.__proto__属性已经被最新的ES6草案废弃,但目前所有的现代浏览器最新版本(包括IE11预览版)已经实现了__proto__.

    Polyfill

    我们必须借助非标准的 __proto__ 才能实现这个方法.

    Object.setPrototypeOf = Object.setPrototypeOf || function (obj, proto) {
      obj.__proto__ = proto;
      return obj; 
    }

    示例

    var dict = Object.setPrototypeOf({},null);
    

    浏览器兼容性

    Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
    Basic support 34
    See Issue 2675
    31 (31)
    See bug 885788
    未实现 未实现 未实现
    Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
    Basic support 未实现 未实现 31.0 (31)
    See bug 885788
    未实现 未实现 未实现

    相关链接

    文档标签和贡献者

    此页面的贡献者有: ziyunfei, teoli
    最后编辑者: teoli,