zoukankan      html  css  js  c++  java
  • 走进__proto__属性,看ie是否支持它,谁又来给他归宿

    每一个引用类型的实例中,都有一个指针,指向其原型对象。这个指针在非IE浏览器里通过__proto__表示,而在IE里不提供。

    看如下代码:

    obj = {};
    obj.__proto__.toString = function() {
         return "__proto__";
     }
    
    var ceshi = {};
    alert(ceshi);

    输出结果就是__proto__。

    原因:JavaScript中只有一个Object原型对象。

         第二行,修改了这个原型对象的toString成员变量,而Object原型对象是所有引用类型实例共享的,只有一个,所以其他对象调用toString()也就发生了变化。

    IE不提供这个__proto__,这样就不能获取到Object原型对象,也就无法修改这个上级的属性了。这样做就更安全了。

    但是有什么方法可以代替么?

      因为__proto__不是标准方法,标准的方法是Object.getPrototypeOf();

      看如下代码:

    var obj = {};
    console.log(obj.__proto__);//输出Object {}
    
    //等于
    
    Object.getPrototypeOf(obj);//输出Object {}
    

      

      

  • 相关阅读:
    离开学校一年多
    ZOJ Problem Set–1337 Pi
    Old Bill
    ZOJ Problem Set–1382 A Simple Task
    ZOJ Problem Set 2975 Kinds of Fuwas
    ZOJ Problem Set 2952 Find All M^N Please
    Generate Passwords
    Java 数据类型转换之字符串
    ZOJ Problem Set 2987 Misspelling
    Digital Roots
  • 原文地址:https://www.cnblogs.com/rainheader/p/4574719.html
Copyright © 2011-2022 走看看