請教各位前輩要如何宣告一個所有物件都可用的方法,但又不會有後遺症呢?
小弟我的敘述能力不好,請多多包涵我遇到的狀況是
首先我是在寫opera瀏覽器的userJS遇到的
我不確定這個問題是只有在opera才有,還是因為我的作法才有我用Object.prototype.abc=function(){}宣告了一個abc的方法
但我發現一旦使用apply或是call,"abc"這個方法就會被自動執行
或是一些有使用到JQuery的函式也會造成abc自動執行
或是遍歷for(i in window)時,"abc"會被列為其中
是我漏掉了什麼嗎?有沒有辦法宣告一個所有物件都可用的方法
但不會造成這種問題呢?
小弟我的敘述能力不好,請多多包涵我遇到的狀況是
首先我是在寫opera瀏覽器的userJS遇到的
我不確定這個問題是只有在opera才有,還是因為我的作法才有我用Object.prototype.abc=function(){}宣告了一個abc的方法
但我發現一旦使用apply或是call,"abc"這個方法就會被自動執行
或是一些有使用到JQuery的函式也會造成abc自動執行
或是遍歷for(i in window)時,"abc"會被列為其中
是我漏掉了什麼嗎?有沒有辦法宣告一個所有物件都可用的方法
但不會造成這種問題呢?
但是去扩展 Object.prototype 是件相当恐怖的事情 还是不要这么做吧。
另外我简单测试了下 IE貌似虽然window属于object 但是不继承object还有 apply调用我也测试过了 并没有引发 你说的问题 你可以在检查或者调试下代码
因為我的寫法也很簡單,但它就是會觸發....那有沒有辦法模仿JQuery做一個類,賦予這個類一個方法
但是這個"類"要任何物件都可以接受,有辦法做到嗎?
若可以的話可以指點我一下嗎?
感謝!