作者RichieRich (Richie)
看板Ajax
标题[问题] 增加prototype function
时间Wed Jan 6 17:01:20 2021
小弟为了能让 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://webptt.com/cn.aspx?n=bbs/Ajax/M.1609923682.A.EA3.html
1F:推 mrbigmouth: 用Object.defineProperty给prototype加filter方法 01/07 10:45
2F:→ mrbigmouth: 然後加上enumerable: false 01/07 10:45
3F:→ mrbigmouth: 欸 ie8的defineProperty只能用在DOM上? 01/07 10:47
6F:→ brianwu1201: Script/Reference/Global_Objects/Object/hasOwnProp 01/07 11:18
7F:→ brianwu1201: erty 01/07 11:18
8F:→ brianwu1201: 关键字 hasOwnProperty 查一下 01/07 11:19