[問題] 增加prototype function

看板Ajax作者 (Richie)時間4年前 (2021/01/06 17:01), 編輯推噓2(206)
留言8則, 2人參與, 4年前最新討論串1/1
小弟為了能讓 ie8可支持array新的function如map,filter... if (!Array.prototype.forEach) { Array.prototype.filter = function(callback/*, thisArg*/) {.... 可是當我作in例舉的時候 會把這些function也例舉出來 例如 for(var key in [1,2,3]) { console.log(key); } 0,1,2,map,filter 是不是這樣自已加的function就不能用in這個東西?除非要自已過濾? 不然就無解? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.160.2.183 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1609923682.A.EA3.html

01/07 10:45, 4年前 , 1F
用Object.defineProperty給prototype加filter方法
01/07 10:45, 1F

01/07 10:45, 4年前 , 2F
然後加上enumerable: false
01/07 10:45, 2F

01/07 10:47, 4年前 , 3F
欸 ie8的defineProperty只能用在DOM上?
01/07 10:47, 3F

01/07 10:49, 4年前 , 4F
01/07 10:49, 4F

01/07 11:18, 4年前 , 5F

01/07 11:18, 4年前 , 6F
Script/Reference/Global_Objects/Object/hasOwnProp
01/07 11:18, 6F

01/07 11:18, 4年前 , 7F
erty
01/07 11:18, 7F

01/07 11:19, 4年前 , 8F
關鍵字 hasOwnProperty 查一下
01/07 11:19, 8F
文章代碼(AID): #1VzNnYwZ (Ajax)
文章代碼(AID): #1VzNnYwZ (Ajax)