為什麼IE不提供__proto__?

來源:互聯網
上載者:User

每一個參考型別的執行個體中,都有一個指標,指向其原型對象。這個指標在非IE瀏覽器裡通過__proto__表示,而在IE裡不提供。

看如下代碼:

obj = {};
obj.__proto__.toString = function() { return "hello"; }

test = {};
alert(test);

輸出結果就是hello。原因在於JavaScript中只有一個Object原型對象,第二行,修改了這個原型對象的toString成員變數,而Object原型對象是所有參考型別執行個體共用的,只有一個,所以其他對象調用toString()也就發生了變化。

 

IE不提供這個__proto__,使得程式員無法擷取到Object原型對象,也就無法修改這個老祖宗的屬性了。這樣做就更安全了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.