我得到了Object.prototype的擴展充滿了陷阱。 有沒有擴展其他標準的JavaScript原型時:String.prototype,Array.prototype,Function.prototype?擴展javascript標準類型陷阱
在此先感謝。
[編輯]相關:What are pitfalls of extending Object.prototype?
我得到了Object.prototype的擴展充滿了陷阱。 有沒有擴展其他標準的JavaScript原型時:String.prototype,Array.prototype,Function.prototype?擴展javascript標準類型陷阱
在此先感謝。
[編輯]相關:What are pitfalls of extending Object.prototype?
真正有用的
Extending Natives in Javascript
[編輯] 這不應該只顯示你可以,但如何以避免陷阱做到這一點。 :)
那麼擴展本機永遠沒關係嗎?
我已經描述了一些不增加原生原型的原因;你可能知道別人。您需要確定是否每個問題都將通過您的計劃擴展來解決,以及擴展是否會爲您的代碼庫增加功能和清晰度。
@Downvoter你爲什麼downvote? – Zac 2012-08-16 18:20:11
如果未來版本的瀏覽器實現
Array.prototype.remove
(或者,也可以通過 自己的意願,因爲在升級到ECMAScript標準),其實施將通過我們的 習俗之一,它不僅將覆蓋效率較低(我們不能在方法優化服務中操縱瀏覽器引擎內部),但更重要的是,它們可能會有不同的非標準結果。使用對象迭代週期擴展本地對象。參數如下所示:因爲for循環將訪問對象原型鏈中所有枚舉的 屬性,所以自定義本機屬性 將意外地包含在此類迭代中。
如果 碰巧定義了一個具有相同名稱的屬性,則Object.prototype的後代(即其原型不是顯式爲空的每個對象)都將失去對擴展屬性的訪問權限。
http://javascriptweblog.wordpress.com/2011/12/05/extending-javascript-natives/
這個問題是有關 - http://stackoverflow.com/questions/7141734/extending-core-types-without-modifying-prototype – maerics 2012-08-16 14:41:05